Путь построения проекта Eclipse Java с использованием переменных

Я разрабатываю проект Java Eclipse и хотел бы использовать "переменные" для указания на нужные библиотеки (файлы .jar).

Настройка:

  • Машина 1: Eclipse Juno, OS X, собственный ноутбук, библиотеки под /mylibs
  • Машина 2: Eclipse Juno, Linux, общий компьютер, библиотеки под /sharedlibs/some/complex/path

Контроль источника: Mercurial

Пример libs, который я использую:

  • "$ {} libs_base/junit.jar"
  • "$ {} libs_base/guava.jar"
  • "$ {} libs_base/logging/slf4j.jar"

Как я могу настроить проект Build Path на использование той же "переменной" для каталога base для библиотек, указывая на разные местоположения на разных компьютерах, но все же проверяю описание моего проекта на источник так что, когда я добавляю новую библиотеку, если я укажу ее местоположение относительно libs base, она будет найдена на обеих машинах?

Я нашел файл справки, но мог бы использовать пример, возможно даже скриншот, пожалуйста?

http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Fconcepts%2Fcpathvars.htm

например, скопируйте эту модель:

http://help.eclipse.org/juno/index.jsp?topic=%2Forg.eclipse.platform.doc.user%2Fconcepts%2Fconcepts-exttools.htm

внутри "Java > Путь сборки > Переменные класса пути" или в другом месте?

Я уже делал честную "слепую пробку и ошибку".. как там вроде строчки типа "$ {env: VAR}".

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

/org.eclipse.jdt.core/org.eclipse.jdt.core.classpathVariable.my_libraries=$MY_SYS_ENV_VAR_LIBS

Конечно, я использую "Configure Build Path > Libraries > Add Variable", а затем Extend from there, но все же... пример будет стоить 1000 слов.. (может быть, это определение переменной Eclipse, из которой до Extend фактические ссылки .jar для включения в пути сборки просто не могут быть основаны на переменной системной среды, полной остановке?!)

PS: пожалуйста, не просите меня просто ссылаться на вещи, я не системный администратор на общей машине.

Ответ 1

Из того, что я понимаю, расширение переменной пути будет отлично работать для вашего случая, так как вы можете определить разные базовые пути для каждой машины и справочные библиотеки в подпутах на основе этого пути. Однако, если вы ищете специально для использования переменных среды, вы можете попробовать добавить их в путь сборки следующим образом:

  • Отредактируйте конфигурацию запуска.
  • Перейдите на вкладку Классы классов.
  • Нажмите Пользовательские записи и нажмите кнопку Дополнительно.
  • Чтобы добавить библиотеку на основе переменной системной среды, выберите Добавить Переменная строка, а в поле типа: ${env_var:libs_base}/logging/slf4j.jar. В этом случае libs_base - ваша переменная окружения, а logging/slf4j.jar - путь к банке в подкаталоге.