2017-10-04 119 views
0

由Apache的描述使用log4j的-1.2-API,但log4j1.x类都没有找到

<dependencies> 
    <dependency> 
    <groupId>org.apache.logging.log4j</groupId> 
    <artifactId>log4j-1.2-api</artifactId> 
    <version>2.9.1</version> 
    </dependency> 
</dependencies> 

但是,试图导入

import org.apache.log4j.Logger; 

据时,我仍然看到了错误Apache,这应该工作?

https://logging.apache.org/log4j/2.x/maven-artifacts.html

感谢

+0

如果.jar真的是由maven下载的,你有没有验证过? – DevDio

回答

0

你必须把依赖于pom.xml

<dependencies> 
    <dependency> 
    <groupId>org.apache.logging.log4j</groupId> 
    <artifactId>log4j-api</artifactId> 
    <version>2.9.1</version> 
    </dependency> 
    <dependency> 
    <groupId>org.apache.logging.log4j</groupId> 
    <artifactId>log4j-core</artifactId> 
    <version>2.9.1</version> 
    </dependency> 
</dependencies> 

,进口应该是:

import org.apache.logging.log4j.Logger; 
+0

这正是我想要避免的。我不想重写所有使用log4j的代码。 Apache通过log4j-1.2-api为log4j2提供了桥梁https://logging.apache.org/log4j/2.x/manual/migration.html – Mark

0

Maven的依赖性要求阿帕奇的桥梁API给出一种类型,但这里的例子指定“捆绑”: https://logging.apache.org/log4j/2.0/log4j-1.2-api/dependency-info.html

如果我这样做,那么我不明白的log4j-1.2-api.jar文件在我的依赖关系,如果我设置类型到'jar'然后我得到jar和log4j-api-2.9.1.jar并且可以导入org.apache.log4j。