Eclipse: Есть ли простой способ координировать "Установленные JRE" в команде?
У меня есть приложение, которое состоит из около 10 различных проектов Eclipse. Некоторые проекты должны быть построены на Java 5, а другие - на Java 6. Оба этих JDK зарегистрированы в списке "Установленных JRE" Eclipse как "jdk5" и "jdk6" соответственно.
Соответствующий JRE находится в пути к классу сборки каждого проекта, который отражен в файлах.classpath. Тем не менее, другие члены моей команды используют разные символические имена для этих JRE на своих машинах. Кроме того, файлы.classpath проверяются в системе контроля версий. В результате люди должны вносить локальные изменения в свой файл.classpath, чтобы иметь возможность строить.
Мой инстинкт - выбрать соглашение об именах для установленного списка JRE и попросить всех членов команды придерживаться его. Однако это только усложняет процесс настройки нового разработчика. На самом деле, я просто хочу сказать, "построить этот проект с Java 5" и "построить этот проект с Java 6". Мне все равно, где они установлены, или как их символическое имя. Поддерживает ли Eclipse такую конфигурацию?
5 ответов
Среды выполнения - это то, что вам нужно (Настройки -> Java -> Установленные JRE -> Среды выполнения). Вы можете изменить путь к классам своих проектов, чтобы использовать Системную библиотеку JRE, которая соответствует определенной версии Java, такой как "J2SE-1.5" или "JavaSE-1.6". Затем Eclipse разделит установленные JRE на эти категории и будет использовать соответствующую при создании ваших проектов.
Честно говоря, я использую Maven (Maven-компилятор-плагин и профили) именно для этого.
<plugin>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
Использование системы, такой как maven (или ant, и т. Д.), Очень помогает нам в решении проблем classpath/environment/os-disparities среди разработчиков.
Вы можете настроить параметры проекта для конкретного компилятора в Предпочтения->Java-> Компилятор. Однако это только позволяет установить уровень соответствия, а не выбирать конкретный JDK. Но, может быть, этого уже достаточно для вашей цели?
Если вы застряли с необходимостью проверки файлов.classpath в системе управления исходным кодом, тогда я бы рекомендовал вам реализовать идею о том, чтобы все разработчики установили свои JDK в одном месте (или использовали общее имя переменной env, указывающее на места). Я думаю, что разработчикам в одной команде гораздо проще иметь очень похожие настройки среды, и если эта общая настройка env хорошо документирована. Таким образом, по мере появления новых разработчиков вы можете указать их в своей документации для настройки env и быстро их запустить - не нужно тратить время на устранение проблем, связанных с установкой их JDK.
Если это не вариант, но вы уже используете Maven, то вы можете удалить файлы.classpath из системы контроля версий. Мы недавно сделали это, и у нас есть все разработчики, которые запускают плагин Maven eclipse для генерации (или обновления) своих собственных файлов.classpath на основе того, что находится в файле pom.xml. (т.е. mvn eclipse:eclipse для запуска этого плагина).
Если вы синхронизируете файлы своего проекта, eclipse поддерживает текущий JDK на вкладке Библиотеки конфигурации пути сборки проектов. Это будет продолжаться очень хорошо, если у каждого установлен и загружен в затмение один и тот же JDK.
Там, где это возможно, я бы порекомендовал решение maven, предложенное Quotidian, но у меня было довольно много успеха вручную, если каждая рабочая станция разработчика настроена одинаково. Это может вас повесить, если у вас есть разработчики, работающие под разными операционными системами, хотя это может выглядеть как "C:\Program Files\java" в системе linux или "/user/lib/jvm/" в wndows, ни одна из которых будет существовать.