2011-02-05 2 views
0

Я создал автономное приложение java в Ubuntu 10.04, используя NetBeans 6.9. Я не могу использовать команду getenv() в Netbeans, хотя если я создам отдельный файл java в gedit и скомпилирую его в терминале, тогда он даст желаемый результат.getenv() не работает

System.out.println(System.getenv("TRGRAPH")); 

Приведенный выше код при выполнении через терминал дает желаемый результат, но один и тот же код, если я пытаюсь запустить в Netbeans, то он возвращает пустую строку.
Может ли кто-нибудь сказать мне, как получить результат с помощью netbeans ??

+0

[проверить эту ссылку] (http://stackoverflow.com/questions/3243581/using-getenv-function-in-linux) – Antrromet

+0

Проверьте эту ссылку для настройки переменных среды при запуске программы в NetBeans http://wiki.netbeans.org/FaqEnvVarsDuringRun – Phani

ответ

1

Я использую Eclipse, а не NetBeans, но я уверен, что они похожи. Найдите диалог, который будет управлять запуском вашей программы. В этом диалоге, вероятно, есть место, где вы можете указать переменные среды, которые должны быть установлены при запуске вашего приложения.

Другой альтернативой является установка переменной окружения перед запуском Netbeans.

2

Вам нужно запустить Netbeans из терминала же после вы установили и экспортировать TRGRAPH.

Пример, в терминале:

$ export TRGRAPH=foo 
$ netbeans& 
+0

Что делать, если я запускаю файл jar моего приложения, а затем он дает null. –

+0

как вы его используете? через netbeans? – dogbane

+0

Я запускал его с помощью netbeans, но когда я запускаю файл .jar отдельно, то также я получаю ту же проблему. –

1

Это означает, что TRGRAPH не определен в этом процессе. Окружение наследуется от среды Netbeans. Убедитесь, что Netbeans получает переменную, например, запустив ее из командной строки или вызвав ее с помощью сценария оболочки sourcing.bashrc (или где бы вы ни выбрали TRGRAPH).


В качестве альтернативы, вы можете запустить внешний процесс Java с помощью ProcessBuilder и передать его в любой среде вам нравится. Довольно сложная, но очень гибкая.