是否可以调用可执行的.jar文件而不必使用其完整路径?

Ala*_*ith 11 java command-line jar

我有一个.jar文件,我希望能够调用,而不必使用完整的文件路径到它的位置.

例如,如果.jar文件位于:/some/path/to/thearchive.jar

我希望能够运行它:

java -jar thearchive.jar
Run Code Online (Sandbox Code Playgroud)

代替:

java -jar /some/path/to/thearchive.jar
Run Code Online (Sandbox Code Playgroud)

当我在目录树的其他地方.在我的具体情况下,我正在运行安装了OS X 10.5.7的Mac.Java版"1.5.0_16".我尝试将"/ some/path/to"添加到PATH,JAVA_HOME和CLASSPATH,但这不起作用.

那么,如何设置从命令行运行.jar而不必使用其完整路径?

更新:另一个要处理的项目是参数.例如:

java -jar /some/path/to/thearchive.jar arg1 arg2
Run Code Online (Sandbox Code Playgroud)

这可能会影响问题的处理方式,如下面的答案所述.

bra*_*ter 5

您可以添加一个变量来保存目录:

export JARDIR=/some/path/to
java -jar $JARDIR/thearchive.jar
Run Code Online (Sandbox Code Playgroud)

我不确定您是否可以隐式地从环境变量中执行此操作。

  • @Brabster - 好主意 - 您还可以将环境变量设置为“/some/path/to/thearchive.jar”和“java -jar $JAR” (2认同)

Rob*_*anu 5

不,你不能.

运行jar -jar不涉及任何类型的路径机制,因为jar文件类路径.

或者使用shell别名来启动jar或小脚本文件.