Eclipse、Selenium、Windows
无法解析导入org.apache.log4j
我已遵循我能找到的所有记录步骤,即:
1) 以下两个 jar 文件位于项目构建路径中: log4j-core-2.6.2.jar 和 log4j-api-2.6.2.jar
2) 上述两个jar文件位于以下文件夹中: C:\eclipse\apache-log4j-2.6.2-bin
3)上述文件夹在我的系统CLASSPATH环境变量C:\eclipse\apache-log4j-2.6.2-bin中
4) 该项目在项目根目录中包含以下 log4j.properties 文件
# This sets the global logging level and specifies the appenders
log4j.rootLogger=INFO, theConsoleAppender
# settings for the console appender
log4j.appender.theConsoleAppender=org.apache.log4j.ConsoleAppender
log4j.appender.theConsoleAppender.layout=org.apache.log4j.PatternLayout
log4j.appender.theConsoleAppender.layout.ConversionPattern=%-4r [%t] %-5p %c %x - %m%n
5)我已经清理了项目
6) 失败的导入是: import org.apache.log4j.Logger;
<小时/>我也间歇性地收到此错误消息
第一行“org.apache.log4j.Logger 类型无法解析。它是从所需的 .class 文件间接引用的”:
包com.example;
当我执行项目 -> Clean 时,此错误消失
但是导入 log4j 时的错误仍然存在。
<小时/>如有任何想法,我们将不胜感激。
最佳答案
如果您收到此错误,则意味着您的应用程序或其依赖项之一使用 Log4j 1.2 API。
org.apache.log4j
包是 Log4j 1.2 命名空间。 Log4j 2 使用 org.apache.logging.log4j 命名空间。 Log4j 1.2 became End of Life 2015年,建议用户升级到Log4j 2。
您的类路径中已经有了正确的 log4j-api-2.x.jar 和 log4j-core-2.x.jar,唯一缺少的是 log4j-1.2-api-2.x.jar。 log4j-1.2-api 是一个适配器模块,可确保应用程序对 Log4j 1.2 API 的调用委托(delegate)给 Log4j 2 实现。
请确保旧的 log4j-1.2.x.jar 已从类路径中删除。
最后,您显示的配置似乎适用于 Log4j 1.2,不适用于 Log4j 2。Log4j 2 手册有许多示例配置。 (仅文档就是升级的理由,Log4j 2 中的它要好得多。)例如,请参阅 Console appender 上的部分。或File appender 。
Log4j 2 还支持 properties configuration format (但语法与 log4j 1.2 属性格式不同)。
关于java - 导入org.apache.log4j无法解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38360874/