Maven存储库记录器冲突

时间:2019-03-20 09:21:42

标签: java maven logging log4j artifactory

我正在编写一个使用https://github.com/jfrog/artifactory-client-java的控制台应用程序。为了使用它,我必须添加

<dependency>
     <groupId>org.jfrog.artifactory.client</groupId>
     <artifactId>artifactory-java-client-services</artifactId>
     <version>2.6.2</version>
</dependency>

 <repositories>
     <repository>
         <id>repo1</id>
         <name>repo for artifactory</name>
         <url>http://repo.spring.io/libs-milestone/</url>
     </repository>
 </repositories>

因为版本2.6.2不在Maven中央存储库中。但是,将这两个添加完全破坏了我的log4j配置。我的log4j版本是:

    <!--logging-->
    <dependency>
        <groupId>log4j</groupId>
        <artifactId>log4j</artifactId>
        <version>1.2.17</version>
    </dependency>

我尝试从人工客户端中排除日志记录依赖项,但这会导致错误。我如何解决此冲突并在继续使用Artifactory-java-client的同时继续使用log4j.properties。

编辑:我已经尝试过在Maven Central上的0.16版本的Artifactory客户端,但是仍然破坏了我的记录器配置。因此,我认为这与依赖关系冲突比Maven存储库问题更多。有没有解决记录器冲突的解决方法?

My dependencies

1 个答案:

答案 0 :(得分:0)

您需要从依赖项logback-classic中排除artifactory-java-client-services,因为这是类似于log4j的第二个完整日志记录框架。

保留slf4j依赖项;它们定义了一个抽象的日志API。要使artifactory-java-client-services的日志记录有效,您需要告诉slf4j通过log4j进行日志记录。为此,请将依赖项slf4j-log4j12添加到您的POM中。