java ClassNotFoundException LoggerFactory при настройке кварца - PullRequest
9 голосов
/ 27 апреля 2011

Итак, я использую Кварцевую банку: кварц-все-2.0.1.jar.Из файла readme предполагается, что в банке все настроено.Однако, когда я пытаюсь создать SchedulerFactory, используя

SchedulerFactory sf = new StdSchedulerFactory();

, я получаю это:

Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
    at org.quartz.impl.StdSchedulerFactory.<init>(StdSchedulerFactory.java:268)
    at WebScraper.Main.main(Main.java:19)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
    at java.net.URLClassLoader$1.run(URLClassLoader.java:217)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)

Я также запутался, потому что Eclipse не показывает никаких ошибок, прежде чем я пытаюсь запуститьпрограмма.Спасибо за любую помощь.

Ответы [ 3 ]

10 голосов
/ 27 апреля 2011

Документация Simple Logging Facade для Java (SLF4J) перечисляет Quartz в зависимости от slf4j.Вы можете скачать slf4j и добавить его в свой путь к классам.Я понятия не имею, почему это работало раньше без этой проблемы.

2 голосов
/ 27 апреля 2011

Вам понадобится api jar slf4j и jar реализации.

Относительно того, почему он не жалуется на затмение. Это только зависимость во время выполнения. Вы не компилируете какой-либо код, который фактически использует slf4j, поэтому ваш код компилируется просто отлично. С другой стороны, при попытке запустить код, от которого вы зависите (например, Quartz), зависит от slf4j, который вы теперь должны предоставить.

0 голосов
/ 10 ноября 2014

Для тех, кому удобнее с maven, вы можете добавить эту зависимость в свой файл POM:

<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-log4j12</artifactId>
    <version>1.5.6</version>
</dependency>

, а затем добавьте эту библиотеку в зависимость вашего проекта.

...