Spring Boot 2.0.6quartz在战争中丢失了org / springframework / scheduling / quartz / SpringBeanJobFactory

时间:2018-11-21 14:04:00

标签: java spring-boot war quartz

在tomcat中的应用程序启动期间使用spring boot war构建

Caused by: java.io.FileNotFoundException: class path resource [org/springframework/scheduling/quartz/SpringBeanJobFactory.class] cannot be opened because it does not exist
at org.springframework.core.io.ClassPathResource.getInputStream(ClassPathResource.java:180)

即使它作为依赖项存在

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-quartz</artifactId>
</dependency>

还有spring-context-support

spring boot jar的构建和运行没有问题

如何解决战争部署问题?

这是调试jar文件时得到的信息-也许这可能会有所帮助:(带有war文件ClassNotFoundException)

enter image description here

3 个答案:

答案 0 :(得分:0)

我不确定,这只是建议:

尝试添加依赖项:

    <!--Quartz-->
    <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz</artifactId>
        <version>2.2.1</version>
    </dependency>
    <dependency>
        <groupId>org.quartz-scheduler</groupId>
        <artifactId>quartz-jobs</artifactId>
        <version>2.2.1</version>
    </dependency>

注意:这只是“热修复”的一种方法。这不是一个完整的解决方案。

答案 1 :(得分:0)

找出问题所在。当我从IntelliJ Idea运行Tomcat时,未反映到该项目的新依赖关系。需要将war / war分解并重新导入到Tomcat配置中-没问题。

答案 2 :(得分:0)

尝试添加以下依赖项(如果需要,您可以自己设置Spring版本):

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
    <version>${spring.version}</version>
</dependency>