英文:
Can not import log4j from CLASSPATH
问题
我正在使用Linux,并且在一个目录中有以下文件:
- logtest.java
- log4j2.xml
- log4j-api-2.13.1.jar
- log4j-core-2.13.1.jar
在logtest.java文件中,我使用以下行导入了log4j库:
import org.apache.logging.log4j.*;
我的CLASSPATH是/path/to/directory:/path/to/directory/log4j-api-2.13.1.jar:/path/to/directory/log4j-core-2.13.1.jar
。
当我执行javac logtest.java
时,我得到以下错误:
error: package org.apache.logging.log4j does not exist
。
但是,当我执行javac -cp /path/to/directory:/path/to/directory/log4j-api-2.13.1.jar:/path/to/directory/log4j-core-2.13.1.jar logtest.java
,它可以工作。
为什么在没有-cp参数和CLASSPATH的情况下无法找到该包?
英文:
I am using linux and I have the following files in a directory:
- logtest.java
- log4j2.xml
- log4j-api-2.13.1.jar
- log4j-core-2.13.1.jar
In the logtest.java file, I am importing the log4j library with this line:
import org.apache.logging.log4j.*;
My CLASSPATH is /path/to/directory:/path/to/directory/log4j-api-2.13.1.jar:/path/to/directory/log4j-core-2.13.1.jar
.
When I execute javac logtest.java
, I get the following error:
error: package org.apache.logging.log4j does not exist
.
But when I execute javac -cp /path/to/directory:/path/to/directory/log4j-api-2.13.1.jar:/path/to/directory/log4j-core-2.13.1.jar logtest.java
, it works.
Why is it unable to find the package without the -cp argument and from the CLASSPATH?
专注分享java语言的经验与见解,让所有开发者获益!
评论