为什么带有-jar的Java会忽略-classpath?

时间:2018-09-05 16:35:59

标签: java javac

我已经阅读了文档,特别是在这里 https://docs.oracle.com/javase/7/docs/technotes/tools/solaris/java.html https://docs.oracle.com/javase/1.5.0/docs/guide/jar/jar.html#JAR%20Manifest 当使用-jar选项调用java时,将忽略-classpath。 在这种情况下,将从清单文件中读取资源。 也许我误会了,当调用java -jar时,存在从资源中设置路径的方法吗? 如果不是,为什么呢?

1 个答案:

答案 0 :(得分:3)

这就是java程序的编码方式。

重要的是,您仍然可以使用JAR 在命令行上指定类路径。这要求您将jar本身作为类路径的一部分,然后指定该类,例如:

java -cp javafile.jar fully.qualified.ClassName

Java将运行fully.qualified.ClassName主类,它将在类路径(包含jar文件的路径)中找到。