我一直在開發階段爲tomcat開發應用程序。隨着我們前進,我的客戶希望部署到Websphere。我試圖在websphere 8.5上這樣做,但由於某種原因,我似乎遇到了問題。 Tomcat很簡單,我只是投入戰爭,一切都像它應該的。 Websphere是另一回事。我不斷收到以下錯誤,當我試着打我的應用程序:無法將Spring應用程序部署到Websphere
Error 404: SRVE0190E: File not found: {0}
我一直在做一些研究,並一邊從一個線下,我沒有注意到任何在日誌中奇怪。管理控制檯表示應用程序正在運行,沒有問題。
SRVE0292I: Servlet Message - [app#app.war]:.No Spring WebApplicationInitializer types detected on classpath
我的應用程序配置使用Java配置文件,而不是傳統的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>
什麼是FFDC日誌?你的類加載器策略是如何配置的? –
除非我嘗試擊中{context}/x,否則FFDC日誌中沒有任何內容。當我打到根時,什麼都沒有去。對於類加載器策略,我嘗試了許多組合。我在某處讀到parent_last應該工作,但那也沒有幫助。 –
您是否安裝了WebSphere的所有修訂包?在ServletContextInitializer的東西里有一些修正。理論上它應該工作。你如何創建你的戰爭/ jar文件? Web-INF/classes中的WebAppInitializer或者WEB-INF/lib中的jar中? –