java.class.path没有带来Manifest.mf Class-Path属性

pat*_*icK 5 java manifest.mf classpath

我正在尝试获取我的应用程序类路径.

我有一个jar(名为application.jar),它在Manifest.mf中有其他jar文件,比如Class-Path: a.jar b.jar.

为什么当我使用System.getProperty("java.class.path")我的罐子a.jarb.jar没有列出?

Shy*_*dya 5

这可能与以下事实有关: 是从类路径环境变量(或)java.class.path设置的系统属性。使用该选项时这些将被忽略。$CLASSPATH-classpath-jar

根据java -jar文档,当使用该 jar 选项运行应用程序时,仅Class-Path考虑清单,而忽略其他设置。来自http://docs.oracle.com/javase/1.5.0/docs/tooldocs/windows/java.html

-罐

执行封装在 JAR 文件中的程序。第一个参数是 JAR 文件的名称,而不是启动类名称。为了使此选项起作用,JAR 文件的清单必须包含 Main-Class: classname 形式的行。在这里,classname 标识具有 public static void main(String[] args) 方法的类,该方法用作应用程序的起点。有关使用 Jar 文件和 Jar 文件清单的信息,请参阅 Jar 工具参考页和 Java 教程的 Jar 跟踪。

使用此选项时,JAR 文件是所有用户类的源,并且其他用户类路径设置将被忽略。