Подтвердить что ты не робот

Переменные среды в Eclipse

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

Для программы командной строки некоторые переменные среды задаются в .bashrc, и в программе hadoop они читаются как System.getenv().get("HADOOP_MAPRED_HOME"). Но когда я запускаю java-программу с System.getenv().get("HADOOP_MAPRED_HOME"), из Eclipse я получаю null.

Я попытался передать параметры -DHADOOP_MAPRED_HOME=test в VM в конфигурациях среды выполнения из Eclipse, но все равно получаю null в автономной программе. Как сделать переменные среды видимыми в Eclipse? Когда я повторяю через System.getenv() в Eclipse, я вижу много переменных, таких как DISPLAY, USER, HOME и другие. Где они установлены? Я использую Ubuntu 11.04.

4b9b3361

Ответ 1

Файл .bashrc используется для установки переменных, используемых интерактивными оболочками входа. Если вы хотите, чтобы эти переменные среды были доступны в Eclipse, вам нужно поместить их в/etc/environment.

Ответ 2

Вы также можете определить переменную среды, которая видна только внутри Eclipse.

Перейдите в Run → Run Configurations... и выберите вкладку "Environment".

enter image description here

Здесь вы можете добавить несколько переменных среды, которые будут специфичны для вашего приложения.

Ответ 3

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

Он все еще находится в раннем развитии, но он выполняет свою работу уже для меня.

https://github.com/JorisAerts/Eclipse-Environment-Variables

введите описание изображения здесь

Ответ 4

Вы можете установить домашний каталог Hadoop, отправив на виртуальную машину -Dhadoop.home.dir. Чтобы отправить эти параметры во все приложение, которое вы выполняете внутри eclipse, вы можете установить их в Window- > Preferences- > Java- > Installed JREs- > (выберите установку JRE) → Изменить.. → (установите значение в текстовое поле "По умолчанию VM:" ). Вы можете заменить ${HADOOP_HOME} на путь к вашей установке Hadoop.

Select the JRE you use for running programs in Eclipse

Sending the value for hadoop.home.dir property as a VM argument

Ответ 5

Вы также можете запустить затмение в оболочке.

Вы экспортируете расширение, прежде чем вызывать затмение.

Пример:

#!/bin/bash
export MY_VAR="ADCA"
export PATH="/home/lala/bin;$PATH"
$ECLIPSE_HOME/eclipse -data $YOUR_WORK_SPACE_PATH

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

Ответ 6

Для людей, которые хотят переопределить переменную окружения ОС в проекте Eclipse, см. также ответ @MAX.

Это полезно, если у вас есть проект проекта затмения проекта проекта на той же машине.

Проект выпуска может использовать переменную OS Environment для использования в тестах, а проект eclipse может переопределить его для использования в целях разработки.