18

I am running a Java application from the command line. Can I specify a command line argument to set the current running directory to something other than where the application is actually going to run?

4

4 回答 4

42

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

于 2012-03-02T07:53:07.143 回答
5

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

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

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

于 2010-12-15T08:55:10.353 回答
0

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

于 2010-12-14T18:34:36.897 回答
0

我找到了这个 SO 帖子,它帮助我解决了我的问题。虽然我想分享一些关于 IntelliJ 的具体内容,这可能会绊倒其他人。

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

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

于 2017-07-30T21:43:12.180 回答