Linux更改java程序的工作目录

Voi*_*tar 0 java linux working-directory

我想在Linux中运行一个java程序并将其工作目录更改为特定位置。我对 Linux 有点菜鸟,所以我需要很多帮助。我设法弄清楚了这一点:

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

这将在它选择的工作目录中运行该程序。现在我需要找到一种方法来更改工作目录。我认为这台计算机正在运行 UBuntu(或者无论你如何拼写),但我不确定。我运行的帐户的权限也受到严格限制。

lah*_*her 5

编辑(基于下面提问者评论中给出的信息):

因此,在启动 java 之前,您似乎只需要一个批处理脚本进入cd自己的目录。

像这样的脚本应该可以做到。

#!/bin/bash
DIR=`dirname "$BASH_SOURCE[0]"`
cd "$DIR"
echo "Current dir: $DIR"
javaw -jar program.jar &
Run Code Online (Sandbox Code Playgroud)

因此,请确保它是可执行的 ( chmod +x minecraft.sh),然后当您双击它或从任何文件夹运行脚本时,它会将脚本的文件夹视为其工作目录。更多信息可以在像这样的问题中找到。

我不会安装 Minecraft,否则我的生活就会消失在黑暗的游戏洞里;)

原答案:

指定所需的工作目录 /x/y/z,program.jar 位于目录 /a/b/c 中

cd /x/y/z
java -jar /a/b/c/program.jar
Run Code Online (Sandbox Code Playgroud)

  • java 仅使用调用进程(即终端)的当前工作目录,因此如果您“cd”,那么它将使用该文件夹。如果您认为自己遇到了任何不同的情况,那么我认为您需要提供更多详细信息。 (5认同)