我一直在开发阶段为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中? –