gpt4 book ai didi

java - Java中如何判断一个jar文件的包名

转载 作者:行者123 更新时间:2023-11-30 11:05:03 25 4
gpt4 key购买 nike

我刚被推上了 java。

对于现有的 jar 文件 log4j.jar ( http://www.apache.org/dyn/closer.cgi/logging/log4j/1.2.17/log4j-1.2.17.zip ),我把它放在 ./lib 子文件夹下,我的 java 源文件 MyDemo.java 在 ./jms/example 文件夹下,我使用 jms.example 作为包名称并在我的 java 文件中导入 log4j 类:

package jms.example;
import org.apache.log4j.*;

当我使用以下命令编译时,出现错误:

c:\JDK\bin\javac.exe -cp '.;.\lib\log4j.jar' -d .\classes -g .\jms\example\MyDemo.java

错误:找不到符号 private final Logger 记录器;

上面的代码有什么问题?

另外,我想知道:* 包名是否与文件路径相关?例如,我将我的 java 文件放在 jms/example 下,这是我必须将包命名为 jms.example 的原因吗?

当我解压第三方提供的其他jar文件时,class文件的路径是jms/example,而3rd party的示例代码使用jms.example作为包名,与类路径jms/example一致,它们必须保持一致吗?

  • 解压log4j.jar时,其类文件的路径是org/apache/log4j/,那么我是否必须使用“import org.apache.log4j.”来导入类?如果我仍然使用 jms.example 作为我的包名称,导入是否会将它添加到类路径中,即它实际上变成了 jms.example.org.apache.log4j。

最佳答案

路径不能用引号括起来;也就是说,它在命令中是错误的:

-cp '.;.\lib\log4j.jar'

应该是:

-cp .;.\lib\log4j.jar

关于java - Java中如何判断一个jar文件的包名,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29785921/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com