2017-02-06 3 views
0

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

Вот соответствующая часть моей pom.xml

<parent> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-parent</artifactId> 
    <version>1.2.0.RELEASE</version> 
    </parent> 

    <dependencies> 
    <dependency> 
     <groupId>org.springframework.boot</groupId> 
     <artifactId>spring-boot-starter-actuator</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>org.springframework</groupId> 
     <artifactId>spring-jdbc</artifactId> 
    </dependency> 
    <dependency> 
     <groupId>phoenix</groupId> 
     <artifactId>phoenix</artifactId> 
     <version>4.1.0-client-hadoop2</version> 
    </dependency> 
    <dependency> 
     <groupId>commons-dbcp</groupId> 
     <artifactId>commons-dbcp</artifactId> 
     <version>20030825.184428</version> 
    </dependency> 
    <dependency> 
     <groupId>org.apache.directory.studio</groupId> 
     <artifactId>org.apache.commons.pool</artifactId> 
     <version>1.6</version> 
    </dependency> 
    </dependencies> 

Когда я просто запустить мое приложение с pom.xml оставил в покое, я получаю эту ошибку:

java.lang.IllegalStateException: Detected both log4j-over-slf4j.jar AND slf4j-log4j12.jar on the class path, preempting StackOverflowError. See also http://www.slf4j.org/codes.html#log4jDelegationLoop for more details. 

Я прочитал на делать исключение, поэтому я полагаю, мне нужно, чтобы добавить исключение в загрузочном стартер, как это:

<dependency> 
    <groupId>org.springframework.boot</groupId> 
    <artifactId>spring-boot-starter-actuator</artifactId> 
    <exclusions> 
    <exclusion> 
     <artifactId>log4j-over-slf4j</artifactId> 
     <groupId>org.slf4j</groupId> 
    </exclusion> 
    </exclusions> 
</dependency> 

Тогда, когда я г ип это, я получаю эту другую ошибку:

java.lang.IllegalArgumentException: LoggerFactory is not a Logback LoggerContext but Logback is on the classpath. Either remove Logback or the competing implementation (class org.slf4j.impl.Log4jLoggerFactory loaded from file:/C:/maven/repo/phoenix/phoenix/4.1.0-client-hadoop2/phoenix-4.1.0-client-hadoop2.jar). If you are using Weblogic you will need to add 'org.slf4j' to prefer-application-packages in WEB-INF/weblogic.xml Object of class [org.slf4j.impl.Log4jLoggerFactory] must be an instance of class ch.qos.logback.classic.LoggerContext 

Так это говорить о каком-то конфликте я думаю с водителем феникса, но я не понимаю, почему. Когда я загружаю pom.xml и смотрю на иерархию зависимостей и ищу эту банку, он не перечисляет ничего под ним, что я могу попытаться исключить.

Итак, на данный момент я не знаю, как действовать.

+0

, что банку, скорее всего, пакетирования некоторые зависимости внутри него. Проверьте внутри JAR и попробуйте получить версию без связанных запросов. Я даже не могу найти его в maven. Откуда этот JAR? – Strelok

ответ

0

Чтобы удалить Logback это сделать:

 <dependency> 
      <groupId>org.springframework.boot</groupId> 
      <artifactId>spring-boot-starter-actuator</artifactId> 
      <exclusions> 
       <exclusion> 
        <artifactId>log4j-over-slf4j</artifactId> 
        <groupId>org.slf4j</groupId> 
       </exclusion> 
       <exclusion> 
        <artifactId>logback-classic</artifactId> 
        <groupId>ch.qos.logback</groupId> 
       </exclusion> 
      </exclusions> 
     </dependency> 
Смежные вопросы