У меня есть оба JDK 1.6 и 1.7, установленные в моей системе (Linux, в каталоге/opt). Я добавил каталог bin для JDK 1.6 в свой путь, так что это версия Java, используемая по умолчанию.Как настроить Maven для использования JDK6 по умолчанию, но JDK7 по мере необходимости
Я работаю над проектом, который требует JDK 1.7 и некоторых, для которых требуется 1.6. Раньше у меня были настройки JDK 1.7 в Eclipse, но я хотел преобразовать этот проект в Maven, чтобы каждый мог использовать свой предпочтительный редактор.
Возможно ли указать местоположение 1.7 на установке/конфигурации Maven (а не в файле POM), так что по умолчанию он использует 1.6, а 1.7 при указании проекта требуется его в POM? Насколько мне известно, все, кто работает над проектом, должны иметь одинаковое содержимое в своих файлах POM, поэтому я не хочу устанавливать местоположение каталога Java 7 здесь (так как это будет отличаться на всех компьютерах).
$ mvn --version
Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 2013-02-19 13:51:28+0000)
Maven home: /opt/apache-maven-3.0.5
Java version: 1.6.0_45, vendor: Sun Microsystems Inc.
Java home: /opt/jdk1.6.0_45/jre
Default locale: en_GB, platform encoding: UTF-8
OS name: "linux", version: "3.8.0-27-generic", arch: "amd64", family: "unix"
Добавление следующее:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.1</version>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-resources-plugin</artifactId>
<version>2.6</version>
<configuration>
<outputDirectory>${project.build.outputDirectory}/resources</outputDirectory>
</configuration>
</plugin>
</plugins>
</build>
приводит:
[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:3.1:compile (default-compile) on project golemlite: Fatal error compiling: invalid target release: 1.7 -> [Help 1]
Это выглядит путь ; предположительно 'settings.xml' должен храниться вне VCS (устанавливается как отдельная загрузка)? – ataulm
В любом случае, он обязательно должен храниться вне VCS, так как он может содержать определенные локальные настройки. Вы можете проверить шаблон, если хотите, чтобы некоторые параметры по умолчанию были легко, но каждый пользователь должен был бы адаптировать его к своим потребностям. –
Ах, даже если установить переменную окружения достаточно, это выглядит так: во избежание создания файла настроек (но требующего, чтобы каждый разработчик установил эту переменную) – ataulm