2012-04-26 3 views
0

Я хочу запустить java-программу в Linux и изменить ее рабочий каталог в определенном месте. Я немного нуб с Linux, поэтому мне нужна небольшая помощь. Мне удалось это понять:Рабочий каталог операционной системы Linux java-программы

java -jar program.jar 

Это будет запускать программу в рабочем каталоге, который она выбирает. Теперь мне нужно найти способ изменить рабочий каталог. Я думаю, что на этом компьютере работает UBuntu (или, тем не менее, вы его произносите), но я не уверен. Я также работаю на учетной записи с ограниченными правами.

+0

возможно дубликат [Изменение текущего рабочего каталога в Java?] (http://stackoverflow.com/questions/840190/changing-the-current -working-directory-in-java) – home

+0

Ссылка tal ks о запущенной java-программе, которая не может изменить свой собственный рабочий каталог. Пока это похоже на выбор каталога во время запуска, что может быть другим. –

+0

@ChrisStratton: 'и изменить его рабочий каталог' - этот вопрос касается изменения собственной рабочей директории. –

ответ

4

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, иначе моя жизнь исчезнет вниз темный игровой отверстие;)

Оригинальный ответ:

сказать желаемой рабочей директории/х/у/г, и program.jar находится в директории/а/б/с

cd /x/y/z 
java -jar /a/b/c/program.jar 
+0

Но я считаю, что программа меняет свою рабочую директорию в сторону от каталога, в котором она находится. –

+4

java просто использует текущий рабочий каталог вызывающего процесса (т. Е. Терминала), поэтому, если вы 'cd', то он будет использовать эту папку , Если вы думаете, что у вас что-то другое, я думаю, вам нужно дать более подробную информацию. – laher

+0

Да, это файл Minecraft.jar игры Minecraft. Если у вас есть minecraft, вы можете попытаться мне помочь. Мой друг смог изменить рабочий каталог, используя командный файл на окнах, чтобы minecraft сохранил миры на флэш-диске, где находились программа и командный файл. Я пытаюсь сделать то же самое в Linux. –