Eclipse использует значение <target>1.7</target>
, чтобы решить, какую среду выполнения включить в путь сборки, как часть его интеграции Maven.
Среды исполнения сопоставляются с JRE , установленными в 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>
. Вам необходимо убедиться, что в Eclipse установлен JRE , версия которого идеально соответствует значению этого свойства. В противном случае предупреждение не исчезнет, точка.
У меня нет намерения нацеливаться на какую-то конкретную версию, цель по умолчанию будет работать нормально для меня.
Нет, не будет, потому что целью по умолчанию является 1,5. Конфигурация цели является необязательным свойством конфигурации, опция «target all» отсутствует.
Вы можете удалить настроенную Maven среду выполнения из пути сборки и добавить JRE напрямую (project properties > Java Build Path > Libraries > Add library... > JRE System Library > Alternate JRE
). Это также уберет предупреждение, но оно вернется, как только вы запустите обновление проекта Maven. Такая конфигурация на самом деле не должна использоваться, так как она связывает ваш проект с конкретной установкой Java на вашем компьютере.