глобальная переменная, но все еще не может получить доступ в Linux - PullRequest
1 голос
/ 05 октября 2010

Я пытаюсь использовать некоторую глобальную переменную в моем файле муравья. когда я делаю логин через терминал. я могу получить доступ к этим переменным, как JAVA_HOME но когда я пытаюсь получить доступ к переменной с помощью команды ant, я не могу их найти. глобальная переменная объявлена ​​в .cshrc

setenv JAVA_HOME jdk_full_path

код муравья с использованием переменной.

<property environment="env"/>
<property name="ear" value= "true"/>
<property name="home" value="${env.HOME}"/>
<property name="java_home" value="${env.JAVA_HOME}"/>

я могу получить доступ к домашней переменной, но не могу найти JAVA_HOME переменную, я выполняю этот муравей через eclipse

Пожалуйста, предложите мне, где я должен объявить переменную, чтобы я мог получить к ним доступ

Ответы [ 4 ]

2 голосов
/ 05 октября 2010

Возможно, проблема в том, что Eclipse не имеет JAVA_HOME в своей среде.

Попробуйте выйти из системы и снова войти, затем запустите Eclipse.

В качестве альтернативы, откройте терминали запустите Eclipse оттуда.

0 голосов
/ 07 октября 2010

Вы должны определить эти переменные в одном из следующих файлов:

~ / .profile или ~ / .bash_profile запускается только с оболочками входа в систему, т.е. при первом входе в систему.

Файл

~ / .bashrc запускается каждый раз, когда вы открываете новую оболочку bash без входа в систему, например xterm

Итак, вы должны добавить к этим файлам строку:

export JAVA_HOME = jdk_full_path

Вы должны повторно войти в систему, чтобы изменения вступили в силу

0 голосов
/ 06 октября 2010

Переменные среды наследуются через выполнение процесса, они не являются глобальными. Таким образом, когда вы редактируете RC-файл вашей оболочки, чтобы добавить переменную, он действует только для оболочек, выполненных ПОСЛЕ этой модификации, и для программ, выполняемых из этих оболочек. Если вы запустили Eclipse из KDE / Gnome, а KDE / Gnome был запущен до того, как вы внесли это изменение, то в KDE / Gnome никогда не было определения, и, следовательно, в Eclipse также не было.

Я рекомендую выйти и снова войти. Также, в зависимости от настроек оболочки по умолчанию, вы можете обнаружить, что KDE / Gnome запускается через bash или что-то еще, что означает, что вам нужно изменить .bashrc вместо .cshrc .

0 голосов
/ 05 октября 2010

Файл .cshrc запускается только при запуске новой оболочки C, он не предназначен для глобальных переменных.Поскольку вы не запускаете Eclipse из оболочки C, он не увидит никаких переменных, которые вы там установили.

Попробуйте файл ~ / .login или файл / etc / profile, если eclipse запускается с использованием bash.Оба этих файла загружаются только один раз, когда пользователь входит в систему, поэтому они должны влиять на все.Чтобы изменения этих файлов вступили в силу, вам может потребоваться перезагрузка или даже перезагрузка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...