遇到问题 运行 Log4J HelloWorld 示例,出现 "package does not exist" 错误
Having trouble running Log4J HelloWorld example, getting the "package does not exist" error
我在处理 Log4J 示例时遇到问题 运行。我不确定这是配置问题还是编码问题。这是我的示例代码:
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.Level;
public class HelloWorldLog4J {
private static final Logger logger = LogManager.getLogger("HelloWorld");
public static void main(String[] args) {
System.out.println("pre_loggerDOTinfo");
System.out.println();
//logger.setLevel(Level.FATAL); //used to be..
logger.info("Hello, this is an INFO message");
logger.warn("Hello, this is an WARN message");
logger.fatal("Hello, this is an FATAL message");
logger.fatal("Hello, this is an FATAL message ALSO, #2");
logger.debug("Hello, this is an FATAL message");
logger.info("Hello, this is an INFO message");
System.out.println();
System.out.println("post_loggerDOTinfo");
}
}
但是当我 运行 这个时,我得到以下错误:
C:\Users\Adel\JavaCoding>javac HelloWorldLog4J.java
HelloWorldLog4J.java:1: error: package org.apache.logging.log4j does not exist
import org.apache.logging.log4j.LogManager;
^
HelloWorldLog4J.java:2: error: package org.apache.logging.log4j does not exist
import org.apache.logging.log4j.Logger;
^
HelloWorldLog4J.java:3: error: package org.apache.logging.log4j does not exist
import org.apache.logging.log4j.Level;
^
HelloWorldLog4J.java:7: error: cannot find symbol
private static final Logger logger = LogManager.getLogger("HelloWorld");
^
symbol: class Logger
location: class HelloWorldLog4J
HelloWorldLog4J.java:7: error: cannot find symbol
private static final Logger logger = LogManager.getLogger("HelloWorld");
^
symbol: variable LogManager
location: class HelloWorldLog4J
我相信我的类路径设置正确,我设置了 3 个变量:
LOG4J_HOME - %log4j-api%;%log4j-core%
log4j-api -
C:\apache_log4j_beta5\apache-log4j-2.0-beta5-bin\log4j-api-2.0-beta5-sources.jar
log4j-core -
C:\apache_log4j_beta5\apache-log4j-2.0-beta5-bin\log4j-core-2.0-beta5-sources.jar
这是我的目录结构(full-image link):
我在想是不是 log4j 的版本不对?我的版本是这个: apache-log4j-2.0-beta5-bin 和 I downloaded it from this link
感谢任何提示,谢谢
您需要在 运行 javac 之前将 log4j jar 添加到您的 CLASSPATH 变量中。或者,您可以使用 -cp 选项在此处指定路径。
javac -cp <path> HelloWorldLog4J.java
其中路径是 log4j jar 的绝对路径,每个路径由冒号字符 (:) 分隔。使用 cp 选项时还应该包括当前目录,这由句点字符 (.)
表示
编辑:您想要引用包含 log4j 的 class 文件的 jar 文件,而不是 java 文件,例如log4j-core-2.0-beta5.jar,不是 log4j-core-2.0-beta5-sources.jar.
我在处理 Log4J 示例时遇到问题 运行。我不确定这是配置问题还是编码问题。这是我的示例代码:
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
import org.apache.logging.log4j.Level;
public class HelloWorldLog4J {
private static final Logger logger = LogManager.getLogger("HelloWorld");
public static void main(String[] args) {
System.out.println("pre_loggerDOTinfo");
System.out.println();
//logger.setLevel(Level.FATAL); //used to be..
logger.info("Hello, this is an INFO message");
logger.warn("Hello, this is an WARN message");
logger.fatal("Hello, this is an FATAL message");
logger.fatal("Hello, this is an FATAL message ALSO, #2");
logger.debug("Hello, this is an FATAL message");
logger.info("Hello, this is an INFO message");
System.out.println();
System.out.println("post_loggerDOTinfo");
}
}
但是当我 运行 这个时,我得到以下错误:
C:\Users\Adel\JavaCoding>javac HelloWorldLog4J.java
HelloWorldLog4J.java:1: error: package org.apache.logging.log4j does not exist
import org.apache.logging.log4j.LogManager;
^
HelloWorldLog4J.java:2: error: package org.apache.logging.log4j does not exist
import org.apache.logging.log4j.Logger;
^
HelloWorldLog4J.java:3: error: package org.apache.logging.log4j does not exist
import org.apache.logging.log4j.Level;
^
HelloWorldLog4J.java:7: error: cannot find symbol
private static final Logger logger = LogManager.getLogger("HelloWorld");
^
symbol: class Logger
location: class HelloWorldLog4J
HelloWorldLog4J.java:7: error: cannot find symbol
private static final Logger logger = LogManager.getLogger("HelloWorld");
^
symbol: variable LogManager
location: class HelloWorldLog4J
我相信我的类路径设置正确,我设置了 3 个变量:
LOG4J_HOME - %log4j-api%;%log4j-core%
log4j-api - C:\apache_log4j_beta5\apache-log4j-2.0-beta5-bin\log4j-api-2.0-beta5-sources.jar
log4j-core - C:\apache_log4j_beta5\apache-log4j-2.0-beta5-bin\log4j-core-2.0-beta5-sources.jar
这是我的目录结构(full-image link):
我在想是不是 log4j 的版本不对?我的版本是这个: apache-log4j-2.0-beta5-bin 和 I downloaded it from this link
感谢任何提示,谢谢
您需要在 运行 javac 之前将 log4j jar 添加到您的 CLASSPATH 变量中。或者,您可以使用 -cp 选项在此处指定路径。
javac -cp <path> HelloWorldLog4J.java
其中路径是 log4j jar 的绝对路径,每个路径由冒号字符 (:) 分隔。使用 cp 选项时还应该包括当前目录,这由句点字符 (.)
表示编辑:您想要引用包含 log4j 的 class 文件的 jar 文件,而不是 java 文件,例如log4j-core-2.0-beta5.jar,不是 log4j-core-2.0-beta5-sources.jar.