WAS 8.5.5.2:在类路径上没有检测到spring webapplicationinitializer类型
作者:互联网
我有一个spring mvc项目.我正在尝试在IBM Websphere 8.5.5.2上部署此项目
我为项目构建了一个战争,并使用管理控制台将其部署在Websphere上
我正在使用基于Java的配置.
我正在使用AbstractAnnotationConfigDispatcherServletInitializer和WebMvcConfigurerAdapter类进行配置.
但是当我部署应用程序时,我会根据控制台获得以下内容:
没有在类路径上检测到弹簧Webapplicationinitializer类型
并且不会触发弹簧初始化.
我的代码如下
@EnableWebMvc
@Configuration
@ComponentScan({ "com.demo" })
public class SpringWebConfig extends WebMvcConfigurerAdapter {
@Override
public void addResourceHandlers(ResourceHandlerRegistry registry) {
registry.addResourceHandler("/resources/**").addResourceLocations("/resources/");
}
@Bean
public InternalResourceViewResolver viewResolver() {
InternalResourceViewResolver viewResolver = new InternalResourceViewResolver();
viewResolver.setViewClass(JstlView.class);
viewResolver.setPrefix("/WEB-INF/jsp/");
viewResolver.setSuffix(".jsp");
return viewResolver;
}
}
public class MyWebInitializer extends
AbstractAnnotationConfigDispatcherServletInitializer {
@Override
protected Class<?>[] getServletConfigClasses() {
return new Class[] { };
}
@Override
protected String[] getServletMappings() {
return new String[] { "/" };
}
@Override
protected Class<?>[] getRootConfigClasses() {
return new Class[] { SpringWebConfig.class };
}
}
@Controller
public class HelloController {
@RequestMapping(value = "/qwerty", method = RequestMethod.GET)
public String printWelcome() {
return "qwerty";
}
}
提前致谢 :)
解决方法:
我的猜测,我没试过,是你依赖@Configuration和
@ComponentScan({“com.demo”})扫描您的Spring应用程序以进行注释.当您将应用程序作为war文件运行时,魔法不会发生这种情况.
具体来说,从下面的文档中,您缺少一个SpringBootServletInitializer,它定义了一个configure方法,告诉支持容器需要扫描哪些类注释:
HTH
标签:spring,spring-mvc,websphere-8 来源: https://codeday.me/bug/20190910/1800987.html