其他分享
首页 > 其他分享> > WAS 8.5.5.2:在类路径上没有检测到spring webapplicationinitializer类型

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方法,告诉支持容器需要扫描哪些类注释:

https://docs.spring.io/spring-boot/docs/current/reference/html/howto-traditional-deployment.html#howto-create-a-deployable-war-file

HTH

标签:spring,spring-mvc,websphere-8
来源: https://codeday.me/bug/20190910/1800987.html