在jar文件中,MANIFEST.mf
包含以下行:
风格A:
Class-Path: .
风格B:
Class-Path: . eric-java-util_lib/tomcat-api.jar
样式C:
// No `Class-Path` specified.
问题:
Class-Path
指定的jar是否与当前jar的dir相关?.
是什么意思?它是未压缩的jar根目录,还是当前jar的驻留目录?我想应该是后来的,但不确定。MANIFEST.mf
之外的所有3个样式的类路径中都包含了包,是.
?或者,java -jar
的默认类路径只是解压缩jar文件的根目录?答案 0 :(得分:2)
当您使用 java -jar
时,以下情况适用:
在样式B中,Class-Path指定的jar是否与驻留当前jar的目录有关?
它与所有风格的“当前jar的居住目录”有关。
然后在风格A和B中,做什么。意思?
表示.jar文件所在的目录。
是未压缩的jar根目录
没有
或当前jar的居住目录?
是
我想它应该是后者,但不确定。
是。确定。
似乎课程&除了MANIFEST.mf之外的所有包都包含在所有3种样式的classpath中,是不是因为。?
我不知道除了MANIFEST.mf之外还有什么意思。
或者,java -jar的默认类路径只是uncompress jar文件的根目录?
。{1}}除了.jar文件本身以及java -jar
清单条目中指定的内容之外,没有默认的类路径。
答案 1 :(得分:0)
在样式B中,
Class-Path
指定的jar是否与当前jar的dir相关?
是的(参见下面的Java SE文档说明)。
然后在风格A和B中,
.
是什么意思?它是未压缩的jar根目录,还是当前jar的驻留目录?我想它应该是后者,但不确定。
它是jar的驻留目录(参见下面的Java SE文档)。
似乎课程&除
MANIFEST.mf
之外的所有3个样式的类路径中都包含了包,是.
?或者,java -jar
的默认类路径只是解压缩jar文件的根目录?
如Java SE Documentation: How the Java Launcher Finds User Classes中所述:
默认值"。",表示用户类文件是当前目录中的所有类文件(如果在包中,则位于其下)。
...
-jar选项指定的JAR存档,它覆盖所有其他值。如果使用此选项,则所有用户类必须来自指定的存档。