Spring启动应用程序。 starter类找不到.xml文件

时间:2017-08-09 06:25:26

标签: java spring-boot

这是我的入门级应用程序类

@SpringBootApplication(exclude = { DataSourceAutoConfiguration.class, HibernateJpaAutoConfiguration.class })
@ImportResource("classpath : web.xml")
public class WebPortalApplication {
    public static void main(String[] args) {
        SpringApplication.run(WebPortalApplication.class, args);
    }
}

这是我的项目目录结构

enter image description here

当我运行应用程序时,它打印出来

Caused by: java.io.FileNotFoundException: class path resource [classpath : web.xml] cannot be opened because it does not exist
at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:172) ~[spring-core-4.3.10.RELEASE.jar:4.3.10.RELEASE]
at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:330) ~[spring-beans-4.3.10.RELEASE.jar:4.3.10.RELEASE]

有人可以帮我解决这个问题吗?

2 个答案:

答案 0 :(得分:0)

您不需要导入web.xml,因为它不是弹簧配置,而是部署描述符。

将项目包装类型从jar更改为war servlet容器应自动提取web.xml

<强>的pom.xml

- <packaging>jar</packaging>
+ <packaging>war</packaging>

答案 1 :(得分:0)

在春季启动时,您不必编写“web.xml”#39;在你的弹簧配置中,你可以像这样写:

@SpringBootApplication
public class WebPortalApplication{
    public static void main(String[] args) {
        SpringApplication.run(WebPortalApplication.class, args);
    }
}

你应该将你的WebPortalApplication.class推送到你想要成为Spring的manger对象的包中。