我想在Linux中运行一个Java程序并将其工作目录更改为特定位置。我对Linux有一点点小菜,所以我需要相当多的帮助。我设法弄明白这一点:Linux程序更改java程序的工作目录
java -jar program.jar
这将运行它选择的工作目录中的程序。现在我需要找到一种方法来改变工作目录。我认为这台电脑正在运行UBuntu(或者你拼写它),但我不确定。我也在使用权限严格受限的帐户运行。
我想在Linux中运行一个Java程序并将其工作目录更改为特定位置。我对Linux有一点点小菜,所以我需要相当多的帮助。我设法弄明白这一点:Linux程序更改java程序的工作目录
java -jar program.jar
这将运行它选择的工作目录中的程序。现在我需要找到一种方法来改变工作目录。我认为这台电脑正在运行UBuntu(或者你拼写它),但我不确定。我也在使用权限严格受限的帐户运行。
EDIT(基于下面提问者的评论给出的信息):
所以,好像你只需要一个批处理脚本cd
到其自己目录启动Java之前。
像这样的脚本应该这样做。
#!/bin/bash
DIR=`dirname "$BASH_SOURCE[0]"`
cd "$DIR"
echo "Current dir: $DIR"
javaw -jar program.jar &
所以,要确保它的可执行文件(chmod +x minecraft.sh
),那么当您双击它或运行任何文件夹中的脚本,它将把脚本的文件夹作为其工作目录。更多信息可在SO questions like this one中找到。
我不打算安装的Minecraft,否则我的生活会消失一条黑暗游戏孔;)
原来的答复:
说对期望的工作目录/ X/Y/Z,和program.jar是在目录/ A/b/C
cd /x/y/z
java -jar /a/b/c/program.jar
但我相信程序会将其工作目录从其所在的目录中移开。 – 2012-04-26 19:32:29
java只使用调用进程的当前工作目录(即终端),所以如果你使用'cd',那么它将使用该文件夹。如果你认为你遇到了不同的事情,那么我认为你需要提供更多细节。 – laher 2012-04-26 19:38:42
是的,这是Minecraft游戏minecraft.jar文件。如果你有我的世界,你可以尝试帮助我。我的一位朋友能够在Windows上使用批处理文件更改工作目录,以便Minecraft将世界保存在程序和批处理文件所在的拇指驱动器上。我正在尝试在Linux上做同样的事情。 – 2012-05-14 01:32:00
[更改Java中的当前工作目录η]可能重复(http://stackoverflow.com/questions/840190/changing-the-current工作目录在爪哇) – home 2012-04-26 19:27:37
链接tal ks关于正在运行的java程序无法更改自己的工作目录。到目前为止,看起来这可能是关于在启动时选择目录,这可能是不同的。 – 2012-04-26 19:32:55
@ChrisStratton:'并改变它的工作目录 - 这个问题是关于改变它自己的工作目录。 – 2012-05-14 05:49:37