java如何定位JAR文件?

时间:2014-11-25 13:59:11

标签: java jar classpath

JAR文件位于C:\Workbench\jars\antlr-4.4-complete.jar

环境变量是:

CLASSPATH=.;C:\Workbench\jars\*
PATH=C:\Workbench\jars;...

我正在尝试使用以下命令:

java -jar "C:\Workbench\jars\antlr-4.4-complete.jar"   <-- OK
java -jar antlr-4.4-complete.jar   <-- FAIL!
java org.antlr.v4.Tool  <-- OK

我对失败者感到困惑。我期待PATH变量将循环查找jar文件。但似乎没有。为什么呢?

我的猜测是,java -jar命令行的实现不使用PATH变量来搜索jar文件。但是,为什么呢?

1 个答案:

答案 0 :(得分:1)

PATH用于查找要执行的命令,在这种情况下java将在PATH上查找。

您需要提供java -jar的绝对路径或相对路径,因为终端(bash / windows / zsh / etc ...)不会以这种方式扩展参数。 Java使用CLASSPATH来查找更多的jar,但是它期望初始jar的正确路径作为第一个参数。