2016-03-29 1 views
3

У меня в настоящее время возникают проблемы с входом в WAR-файл, который я создаю с использованием Maven. Когда я пытаюсь получить доступ к сервлетам в WAR, я получаю сообщение об ошибке из SLF4J, вызванное «delegation loop».Зависимость не отображается в дереве зависимостей, но включена в WAR

Чтобы исправить это, я понимаю, что мне нужно удалить одну из библиотек (slf4j-log4j12 в моем случае), которую я должен был бы сделать, исключив ее в POM (я не включаю в себя какие-либо записи, кроме slf4j-api).

Однако slf4j-log4j12 не отображается в дереве зависимостей - либо через вкладку Иерархия зависимостей в Eclipse, либо через цель dependency:tree. Однако, когда я смотрю в WAR-файл, slf4j-log4j12.jar присутствует в каталоге WEB-INF/lib.

Любые идеи, почему зависимость не отображается в дереве зависимостей? Есть ли другие способы, которыми JAR может быть включен в сборку?

+0

Вы обновили свой проект maven? вы обновляете проект и перед тем, как посмотреть Внутри войны? – Hohenheim

+0

Да, проект в актуальном состоянии, и я несколько раз перестраивал WAR из последней версии проекта. –

+0

Команда «mvn dependency: tree» - ваш друг. – Ceki

ответ

0

Я использовал в своем проекте старую версию для log4j и slf4j, и это сработало без проблем. Попробуйте изменить ваши банки в pom.xml так: если это работает вы можете изменить версию с выбором:

Для SLF4J:

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

Для log4j:

<dependency> 
    <groupId>log4j</groupId> 
    <artifactId>log4j</artifactId> 
    <version>1.2.9</version> 
</dependency> 
Смежные вопросы