我想在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