你能从java命令行设置当前运行目录吗?

时间:2010-12-14 18:25:07

标签: java command-line working-directory

我正在从命令行运行Java应用程序。我可以指定一个命令行参数来将当前运行的目录设置为除应用程序实际运行的位置以外的其他目的吗?

4 个答案:

答案 0 :(得分:39)

有一个JVM参数-Duser.dir,可用于为JVM设置工作目录。

答案 1 :(得分:4)

如果可能的话我宁愿使用脚本来运行java应用程序并在脚本中设置目录:

#!/bin/sh
cd <your dir>
java <some arguments>

JNI解决方案可能会影响应用程序中的各种相对路径;例如你输入的类路径。

答案 2 :(得分:0)

如果要更改当前目录,则必须使用JNI并从Java代码调用本机API。例如,对于Windows,您可以使用SetCurrentDirectory

答案 3 :(得分:0)

我找到了这个SO帖子,它帮助我解决了我的问题。虽然我想分享一些关于IntelliJ的特定信息,但可能会让其他人感到高兴。

我在下面张贴了一张图片,其中使用了-Duser.dir标志,并填写了工作目录文本字段。

"Working Directory" field has lower precedence than the -Duser.dir flag.

在这种情况下,工作目录将设置为“JarLearning”而不是“2ndTry”。