Eclipse: Есть ли простой способ координировать «Установленные JRE» в команде? - PullRequest
5 голосов
/ 04 июня 2010

У меня есть приложение, которое состоит из около 10 различных проектов Eclipse. Некоторые проекты должны быть построены на Java 5, а другие - на Java 6. Оба этих JDK зарегистрированы в списке «Установленных JRE» Eclipse как «jdk5» и «jdk6» соответственно.

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

Мой инстинкт - выбрать соглашение об именах для списка установленных JRE и попросить всех членов команды придерживаться его. Однако это только усложняет процесс настройки нового разработчика. На самом деле, я просто хочу сказать «построить этот проект с помощью Java 5» и «построить этот проект с помощью Java 6». Мне все равно, где они установлены, или как их символическое имя. Поддерживает ли Eclipse такую ​​конфигурацию?

Ответы [ 5 ]

3 голосов
/ 04 июня 2010

Среды исполнения - это то, что вам нужно (Настройки -> Java -> Установленные JRE -> Среды исполнения). Вы можете изменить путь к классам ваших проектов, чтобы использовать Системную библиотеку JRE, которая соответствует определенной версии Java, такой как «J2SE-1.5» или «JavaSE-1.6». Затем Eclipse разделит установленные JRE на эти категории и будет использовать соответствующую при построении проектов.

2 голосов
/ 04 июня 2010

Честно говоря, я использую maven (maven-compiler-plugin и profile) именно для этого.

<plugin>
 <artifactId>maven-compiler-plugin</artifactId>
 <configuration>
  <source>1.5</source>
  <target>1.5</target>
 </configuration>
</plugin>

Использование таких систем, как maven (или ant и т. Д.), Чрезвычайно помогает нам в решении проблем classpath / environment / os-disparities среди разработчиков.

0 голосов
/ 04 июня 2010

Если вы застряли с необходимостью проверки файлов .classpath в системе управления исходным кодом, тогда я бы рекомендовал вам пойти на мысль о том, чтобы все разработчики установили свои JDK в одном месте (или использовали общую переменную env имя, указывающее на места). Я думаю, что разработчикам в одной команде гораздо проще иметь очень похожие настройки среды, и если эта общая настройка env хорошо документирована. Таким образом, по мере появления новых разработчиков вы можете указать их в своей документации для настройки env и быстро их запустить - не нужно тратить время на устранение проблем, связанных с установкой их JDK.

Если это не вариант, но вы уже используете Maven, то вы можете удалить файлы .classpath из системы контроля версий. Мы недавно сделали это, и у нас есть все разработчики, которые запускают плагин Maven eclipse для генерации (или обновления) своих собственных файлов .classpath на основе того, что находится в файле pom.xml. (то есть mvn eclipse: затмение для запуска этого плагина).

0 голосов
/ 04 июня 2010

Если вы синхронизируете файлы проекта, eclipse поддерживает текущий JDK на вкладке Библиотеки конфигурации пути сборки проектов. Это будет продолжаться очень хорошо, если у каждого установлен и загружен в затмение один и тот же JDK.

Там, где это возможно, я бы по-прежнему рекомендовал решение maven, предложенное Quotidian, но у меня было довольно много успеха вручную, если каждая рабочая станция разработчика настроена одинаково. Это может вас повесить, если у вас есть разработчики, работающие под разными операционными системами, так как это может выглядеть как «C: \ Program Files \ java» в системе linux или «/ user / lib / jvm /» в wndows, ни одна из которых будет существовать.

0 голосов
/ 04 июня 2010

Вы можете настроить параметры компилятора для проекта в Предпочтения-> Java-> Компилятор. Однако это только позволяет установить уровень соответствия, а не выбирать конкретный JDK. Но, может быть, этого уже достаточно для вашей цели?

...