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文件。但是,为什么呢?
答案 0 :(得分:1)
PATH
用于查找要执行的命令,在这种情况下java
将在PATH
上查找。
您需要提供java -jar
的绝对路径或相对路径,因为终端(bash / windows / zsh / etc ...)不会以这种方式扩展参数。 Java使用CLASSPATH
来查找更多的jar,但是它期望初始jar的正确路径作为第一个参数。