Spring boot 2.0.6 quartz отсутствует org / springframework / scheduling / quartz / SpringBeanJobFactory in war

Использование сборки Spring Boot War во время запуска приложения в Tomcat

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 - возможно, это может помочь: (с военным файлом ClassNotFoundException)

введите здесь описание изображения


person Iurii Dziuban    schedule 21.11.2018    source источник
comment
SpringBeanJobFactory находится в зависимости spring-context-support. Какую версию используете?   -  person Babajide M. Moibi    schedule 21.11.2018
comment
+ - org.springframework.boot: spring-boot-starter-quartz: jar: 2.0.6.RELEASE: compile [ИНФОРМАЦИЯ] | + - org.springframework: spring-context-support: jar: 5.0.10.RELEASE: компилировать   -  person Iurii Dziuban    schedule 21.11.2018
comment
класс находится внутри него. Файл Spring boot jar работает без проблем. Проблема возникает только тогда, когда я создаю ее как war и развертываю на отдельном tomcat. Однако зависимость присутствует. Понятия не имею.   -  person Iurii Dziuban    schedule 21.11.2018


Ответы (3)


Я не уверен, это всего лишь предположение:

Попробуйте добавить зависимости:

    <!--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>

ПРИМЕЧАНИЕ. Это просто способ «оперативного исправления». И это не полное решение.

person Rostyslav Barmakov    schedule 21.11.2018
comment
У меня эти зависимости определены как для jar, так и для войны. Только версия 2.3.0 вместо 2.2.1 - person Iurii Dziuban; 21.11.2018

Разобрался в проблеме. Поскольку я запускал Tomcat из IntelliJ Idea, новые зависимости, введенные в проект, не были отражены. Требуется удалить и повторно импортировать war / war взорванный в конфигурацию Tomcat - никаких проблем.

person Iurii Dziuban    schedule 21.11.2018

Попробуйте добавить следующую зависимость (при желании вы можете установить версию Spring самостоятельно):

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-context-support</artifactId>
    <version>${spring.version}</version>
</dependency>
person Alfonso Silvestri    schedule 21.11.2018