Как использовать переменные для определения пути к классам в конфигурациях запуска Eclipse? - PullRequest
10 голосов
/ 24 августа 2010

В нашем проекте мы используем конфигурации запуска Eclipse, которые находятся под контролем версий, чтобы делиться ими со всеми разработчиками.Теперь необходимо включить внешний архив в classpath файла конфигурации запуска.К счастью, необходимый архив находится в каждом репозитории Maven каждого разработчика.

Я уже обнаружил, что существует переменная classpath с именем M2_REPO , которая ссылается на локальный репозиторий Maven (действует для любого разработчика).

Но как использовать эту переменную в следующем определении пути к классу для замены абсолютного пути?

<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
    ...
    <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&lt;runtimeClasspathEntry externalArchive=&quot;C:/Dokumente und Einstellungen/050967/.m2/repository/com/google/gwt/gwt-dev/2.0.3/gwt-dev-2.0.3.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;"/>
    ...
</listAttribute>

Или есть способ включить переменную среды (например, Windows '%USERPROFILE%может помочь)?

Ответы [ 2 ]

20 голосов
/ 08 октября 2010

Редактирование конфигурации запуска. Перейдите на вкладку «classpath». Фокус на «Записи пользователя». Нажмите кнопку «Дополнительно».

  • Чтобы добавить запись на основе переменной classpath , выберите Добавить переменную classpath и нажмите OK. Откроется диалоговое окно. Сфокусируйтесь на M2_REPO и нажмите кнопку «Расширить». Выберите файл JAR.
  • Чтобы добавить запись, основанную на системной переменной , выберите Добавить переменную строку и в поле редактирования ниже введите: ${env_var:your-environment-variable-name}/path-to-jar. Например, если системная переменная среды MYVAR, а файл JAR - subdir/myfile.jar, введите ${env_var:MYVAR}/subdir/myfile.jar.
0 голосов
/ 25 августа 2010

Вы можете загрузить это значение из свойства maven .

Maven хранит путь к хранилищу в maven.repo.local свойстве.

Поместите ${maven.repo.local} в файл конфигурации.

<listAttribute key="org.eclipse.jdt.launching.CLASSPATH">
    ...
    <listEntry value="&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;&lt;runtimeClasspathEntry externalArchive=&quot;${${maven.repo.local}}/com/google/gwt/gwt-dev/2.0.3/gwt-dev-2.0.3.jar&quot; path=&quot;3&quot; type=&quot;2&quot;/&gt;"/>
    ...
</listAttribute>

Затем настройте фильтрацию в pom.xml для вашего файла конфигурации, поэтому ${maven.repo.local} будет заменено значением свойства.

...