Maven не разрешает зависимость hibernate-c3p0 от slf4j - PullRequest
3 голосов
/ 29 мая 2009

Когда я включаю hibernate-c3p0 в файл pom.xml моего Maven, я получаю время выполнения NoClassDefFoundError, поскольку он не может найти org.slf4j.impl.StaticLoggerBinder. У меня сложилось впечатление, что Maven разрешит эту зависимость - поэтому, если c3p0 требует slf4j, тогда slf4j будет загружен и включен.

Мой pom.xml файл имеет:

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate-c3p0</artifactId>
  <version>3.3.1.GA</version>
</dependency>

Ответы [ 2 ]

5 голосов
/ 29 мая 2009

Возможно, что slf4j является необязательной зависимостью. Вы можете очень легко проверить переходные зависимости с помощью плагина зависимостей

mvn dependency:tree

покажет вам список того, что именно зависит от чего. Если slf4j не является dep, вы можете добавить его в описание.

НТН

4 голосов
/ 29 мая 2009

NoClassDefFoundError для org.slf4j.impl.StaticLoggerBinder указывает, что связывание SLF4J не найдено. По транзитивности hibernate-c3p0 зависит от slf4j-api. Однако slf4j-api не может функционировать без привязки. Подробности см. В руководстве пользователя SLF4J: www.slf4j.org / manual.html

Вам просто нужно добавить одну из зависимостей: slf4j-simple, slf4j-log4j12, slf4j-jdk14 или logback-classic. Страница руководства SLF4J, упомянутая ранее, должна содержать подробности.

...