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

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

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

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

 #!/bin/sh cd  java  

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

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

我找到了这个SOpost,它帮助我解决了我的问题。 虽然我想分享一些关于IntelliJ的具体信息,但可能会让其他人感到沮丧。

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

“工作目录”字段的优先级低于-Duser.dir标志。

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

Interesting Posts