我正在命令行中运行Java应用程序,是否可以指定命令行参数将当前运行目录设置为与实际运行应用程序的位置不同的其他目录?
我正在命令行中运行Java应用程序,是否可以指定命令行参数将当前运行目录设置为与实际运行应用程序的位置不同的其他目录?
有一个 JVM 参数 -Duser.dir
,可以用于设置 JVM 的工作目录。
new File("file.txt").getAbsolutePath()
和new File("file.txt").getCanonicalPath()
会遵循属性的值。但是File
的大多数其他方法都不会。 - reddot如果可能的话,我更愿意使用脚本来运行Java应用程序并在脚本中设置目录:
#!/bin/sh
cd <your dir>
java <some arguments>
JNI解决方案可能会影响您应用程序中的所有相关路径,例如您设置的类路径。