getenv () не работает

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

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

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


person Harshit Agarwal    schedule 05.02.2011    source источник
comment
Проверьте эту ссылку   -  person Antrromet    schedule 05.02.2011
comment
Перейдите по этой ссылке, чтобы настроить переменные среды при запуске программы в NetBeans. wiki.netbeans.org/FaqEnvVarsDuringRun   -  person Phani    schedule 05.02.2011


Ответы (3)


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

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

$ export TRGRAPH=foo
$ netbeans&
person dogbane    schedule 05.02.2011
comment
что, если я запустил jar-файл своего приложения, тогда он также дает null. - person Harshit Agarwal; 05.02.2011
comment
как ты это делаешь? через netbeans? - person dogbane; 05.02.2011
comment
Я запускал его с помощью netbeans, но когда я запускаю файл .jar отдельно, у меня также возникает та же проблема .. - person Harshit Agarwal; 05.02.2011

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

Другой вариант - установить переменную среды перед запуском Netbeans.

person Bert F    schedule 05.02.2011

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


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

person maaartinus    schedule 05.02.2011