Избегайте предупреждения" нет JREs, установленных в рабочей области, которые строго совместимы " в Eclipse для нескольких версий Java
Я знаю, что уже есть много вопросов об этом предупреждении, но мой вопрос немного отличается. Я понимаю, что могу использовать эту конфигурацию в my pom.xml
исправить
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
это избавляется от предупреждения, но только если у меня установлен и настроен Java 7 в Eclipse. Если, например, у меня есть только Java 8, я все еще вижу предупреждение, если я не изменю версию в конфигурации выше на 1.8:
построить путь исполнения окружающая среда JavaSE-1.7. Нет Jres, установленный в рабочей области, которые строго совместимы с этим окружающая среда.
мой проект совместим с Java 7, 8, 9 и 10. Я хочу избежать этого предупреждения, если какая-либо из этих версий Java установлена без изменения версии в my pom.xml
чтобы каждый раз соответствовать установленной версии Java. Что-то сказать Eclipse, что Java 7 или что-то выше хорошо.
проект еще компилирует и отлично работает с предупреждением, это просто отвлекает, поскольку он отмечает проект как имеющий проблемы. Я знаю, что я могу скрыть этот тип предупреждений в настройках Eclipse, но есть ли способ избавиться от него, ТОЛЬКО используя некоторую конфигурацию в pom.xml
?
1 ответов
Eclipse использует значение <target>1.7</target>
чтобы решить, какую среду выполнения включить в путь сборки, как часть его интеграции Maven.
среды выполнения сопоставляются с JREs установлен в Eclipse (т. е. ссылка в Preferences > Java > Installed JREs
).
само сопоставление настроено в Preferences > Java > Installed JREs > Runtime Environments
. Eclipse автоматически будет соответствовать среде выполнения (например,JavaSE-1.7
) к установленной JRE (например jdk1.7.0_80
). Если нет точного соответствия для среда выполнения, указанная в вашем проекте, даст вам предупреждение, подобное тому, которое вы получаете.
поэтому, чтобы избавиться от предупреждения, вы должны либо:
- установите версию Java, которая точно соответствует вашему
<target>
(т. е.jdk1.7
) и добавить его вPreferences > Java > Installed JREs > Runtime Environments
- настройте версию Java в вашем pom на ту, для которой есть точное соответствие
мой проект совместим с Java 7, 8, 9 и 10. Я хочу избежать этого предупреждения, если какая-либо из этих версий Java установлена
при настройке среды выполнения для использования Eclipse заботится только о <target>
значение. Вы должны убедиться, что есть JRE установлен в Eclipse чья версия идеально подходит для значения этого свойства. Иначе предупреждение никуда не денется, точка.
у меня нет намерение нацелиться на определенную версию, цель по умолчанию будет работать нормально для меня.
нет, это не так, потому что цель по умолчанию-1.5. Целевая конфигурация является необязательным свойством конфигурации, нет опции "target everything".
вы можете удалить настроенную Maven среду выполнения Из пути сборки и добавить JRE напрямую (project properties > Java Build Path > Libraries > Add library... > JRE System Library > Alternate JRE
). Это также заставит предупреждение уйти, но оно вернется, как только вы запустите Maven обновление проекта. Такая конфигурация не должна использоваться, так как она связывает ваш проект с определенной установкой Java на вашем компьютере.