Не удается развернуть приложение Spring в Websphere

Я разрабатывал приложение для Tomcat на этапе разработки. По мере продвижения вперед мой клиент хочет быть развернутым в веб-сфере. Я пытаюсь сделать это на WebSphere 8.5, но по какой-то причине у меня возникают проблемы. Tomcat легко, я просто бросаю на войне, и все работает так, как должно. Websphere - это другая история. Я продолжаю получать следующую ошибку, когда я пытаюсь поразить мое приложение:

Error 404: SRVE0190E: File not found: {0}

Я проводил некоторые исследования, и, кроме одной строки ниже, я не заметил ничего странного в журналах. Консоль администратора говорит, что приложение работает без проблем.

SRVE0292I: Servlet Message - [app#app.war]:.No Spring WebApplicationInitializer types detected on classpath

Мое приложение настроено с использованием файлов Java Config вместо традиционного XML, и я полагаю, что это часть проблемы?

Я нашел сообщение в блоге, в котором говорилось о некоторых настройках сервера, которые нужно было применить. Я пробовал те безуспешно:

com.ibm.ws.webcontainer.mapFiltersToAsterisk=true
com.ibm.ws.webcontainer.removetrailingservletpathslash=true
com.ibm.ws.webcontainer.invokeFiltersCompatibility=true

Я в растерянности, у кого-нибудь есть идеи?

Из-за некоторого продолжения я опубликую свои web.xml и WebappInitializer:

@Order(2)
public class WebAppInitializer extends AbstractAnnotationConfigDispatcherServletInitializer {

    @Override
    protected String[] getServletMappings() {
        return new String[]{"/"};
    }

    @Override
    protected Class<?>[] getRootConfigClasses() {
        return new Class<?>[] {ApplicationConfig.class, DataSourceConfig.class, JpaConfig.class, SecurityConfig.class, MailConfig.class};
    }

    @Override
    protected Class<?>[] getServletConfigClasses() {
        return new Class<?>[] {WebMvcConfig.class};
    }

    @Override
    protected Filter[] getServletFilters() {
        CharacterEncodingFilter characterEncodingFilter = new CharacterEncodingFilter();
        characterEncodingFilter.setEncoding("UTF-8");
        characterEncodingFilter.setForceEncoding(true);
        return new Filter[] {characterEncodingFilter};
    }

    @Override
    protected void customizeRegistration(ServletRegistration.Dynamic registration) {
        registration.setInitParameter("defaultHtmlEscape", "true");
        registration.setInitParameter("spring.profiles.active", "default");
    }
}

web.xml:

    <?xml version="1.0" encoding="UTF-8"?>
    <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
        xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
        version="3.0" metadata-complete="false">
        <!-- Map all errors to Spring MVC handler method. See CustomErrorController.generalError() -->
        <error-page>
            <location>/generalError</location>
        </error-page>
        <session-config>
          <session-timeout>15</session-timeout>
       </session-config>
       <display-name>eua</display-name>
    </web-app>

Ответы на вопрос(7)

Ваш ответ на вопрос