如何确定 jar 文件中 class 的包名称

how to determine package name of a class in a jar file

例如下面log4j.jar的例子:

导入:

import org.apache.log4j.Logger;

包名"org.apache.log4j"是由路径\org\apache\log4j\Logger决定的吗class?

是的,包名需要与jar文件(或目录)中的路径匹配。否则找不到class。

但是,您不能仅仅移动 class 文件来更改包。它也被编码到 class 字节码本身。如果你想改变它,你需要重新编译 class.