Maven 存储库记录器冲突

maven repository logger conflict

我正在编写一个使用 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>

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

编辑:我已经尝试了 0.16 版本的 Artifactory 客户端,它位于 Maven Central 上,但仍然破坏了我的记录器配置。所以我认为它更多地与依赖冲突有关,而不是 Maven 存储库问题。是否有解决记录器冲突的解决方法?

My dependencies

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

保留slf4j依赖;那些定义了抽象日志记录 API。要使 artifactory-java-client-services 的日志记录工作,您需要告诉 slf4j 通过 log4j 进行日志记录。为此,将依赖项 slf4j-log4j12 添加到您的 POM。