Я импортировал проект Maven, и он использовал Java 1.5, хотя в качестве Eclipse по умолчанию я настроил 1.6 Preferences->Java->Installed JREs
.
Когда я изменил проект Maven для использования 1.6 JRE, у него все еще оставались ошибки сборки, оставшиеся с того момента, когда проект использовал Java 1.5 (я описывал эти ошибки сборки ранее: у меня есть ошибки сборки с m2eclipse, но не с maven2 в командной строке - мой m2eclipse неправильно настроен? )
Я собираюсь удалить проект и попробовать еще раз, но на этот раз я хочу убедиться, что он использует Java 1.6 с самого начала, чтобы увидеть, устраняет ли это проблемы со сборкой.
Как мне убедиться, что проект использует Java 1.6 при импорте?
Ответы:
Плагин m2eclipse не использует значения по умолчанию Eclipse, плагин m2eclipse получает настройки из POM. Поэтому, если вы хотите, чтобы проект Maven был настроен на использование параметров Java 1.6 при импорте в Eclipse, настройте его
maven-compiler-plugin
соответствующим образом, как я уже предлагал:Если ваш проект уже импортирован, обновите конфигурацию проекта ( щелкните правой кнопкой мыши проект, затем Maven V Обновить конфигурацию проекта ).
источник
Я добавил это в свой pom.xml под описанием проекта, и это сработало:
источник
<properties> <maven.compiler.source>9</maven.compiler.source> <maven.compiler.target>9</maven.compiler.target> </properties>
Я хотел добавить что-то к уже предоставленному ответу. maven-compiler-plugin по умолчанию скомпилирует ваш проект с использованием Java 1.5, где m2e получает информацию.
Вот почему вы должны явно объявить maven-compiler-plugin в вашем проекте чем-то отличным от 1.5. Ваша эффективность
pom.xml
будет неявно использовать набор по умолчанию в maven-compiler-pluginpom.xml
.источник
DEFAULT_SOURCE
иDEFAULT_TARGET
, но все равно оба установлены на 1.5.источник
Вот основная причина Java 1.5:
Ссылка: плагин компилятора Apache Mavem
Ниже приведены подробности:
Обычный pom.xml
Следующий плагин взят из расширенной версии POM (Effective POM),
Это можно получить с помощью этой команды из командной строки.
C:\mvn help:effective-pom
Я просто поместил здесь небольшой фрагмент вместо целого pom.Даже здесь вы не видите, где определяется версия Java, давайте копать больше ...
Загрузите плагин Apache Maven Compiler Plugin »3.1, который доступен в jar, и откройте его в любом инструменте сжатия файлов, например 7-zip.
Пройдите через банку и узнайте
файл внутри папки
Теперь вы увидите следующий раздел в файле,
Посмотрите на приведенный выше код и найдите следующие 2 строки
Удачи.
источник
quickstart
артефактом.Ваш JRE, вероятно, был определен в конфигурации запуска. Выполните следующие действия в Eclipse, чтобы изменить сборку JRE.
1) Щелкните правой кнопкой мыши по проекту и выберите « Запуск от имени» > « Выполнить настройки».
2) В окне Run Configurations выберите конфигурацию сборки вашего проекта на левой панели. Справа вы увидите различные вкладки: Main, JRE, Refresh, Source, ...
3) Нажмите на вкладку JRE, вы должны увидеть что-то вроде этого
4) По умолчанию будет использоваться JRE для работы по умолчанию (JRE, которое вы выбираете по умолчанию в разделе « Настройки» -> «Java -> Установленные JRE» ). Если вы хотите использовать другую установленную JRE, установите флажок « Альтернативная JRE» и выберите предпочитаемую JRE из раскрывающегося списка.
источник
Самое простое решение в Springboot
Я дам вам самый простой, если вы используете Springboot:
Затем щелкните правой кнопкой мыши ваш проект Eclipse: Maven> Обновить проект> Обновить конфигурацию проекта из pom.xml
Это должно сделать.
источник
Настройки проекта
Еще одно место, где это может пойти не так, это в настройках проекта, в Eclipse.
Свойства проекта: щелкните ваш проект и один из следующих:
нажмите на «Java Compiler»
Из-за требований клиентов они позволили нам сохранить наши проекты в версии 1.6. Когда нужно было обновить до 1.7, у нас были трудные времена, потому что нам нужно было повсеместно менять версию Java:
источник
Еще одна возможная причина, если вы используете Tycho и Maven для сборки пакетов, что у вас неправильная среда исполнения (
Bundle-RequiredExecutionEnvironment
) в определенном файле манифеста (manifest.mf
). Например:В моем случае все остальное было в порядке. Плагины компилятора (в том числе обычный maven и tycho) были установлены правильно, все еще m2 генерировали старый уровень соответствия из-за манифеста. Я думал, что делюсь опытом.
источник
Я обнаружил, что моя проблема была в том, что кто-то зафиксировал файлы .project и .classpath, которые имели ссылки на Java1.5 в качестве JRE по умолчанию.
Закрыв проект, удалив файлы, а затем повторно импортировав его как проект Maven, я смог правильно настроить проект для использования рабочей области JRE или соответствующего jdk, не возвращаясь к 1.5. Таким образом, избегайте проверки в вашем SVN файлов .project и .classpath
Надеюсь, что это помогает другим.
источник
Если вы хотите убедиться, что вновь созданные или импортированные проекты в Eclipse используют другую версию Java по умолчанию, чем Java 1.5, вы можете изменить конфигурацию в maven-compiler-plugin.
В следующих строках:
<исходная реализация = "java.lang.String" default-value = "1.5"> $ {maven.compiler.source} </ source>
<целевая реализация = "java.lang.String" default-value = "1.5"> $ {maven.compiler.target} </ цель>
измените значение по умолчанию на 1.6 или 1.8 или что угодно.
Отныне все новые проекты Maven используют указанную вами версию Java.
Информация взята из следующего сообщения в блоге: https://sandocean.wordpress.com/2019/03/22/directly-generating-maven-projects-in-eclipse-with-java-version-newer-than-1-5/
источник
Чтобы изменить версию JDK, вы можете сделать:
1- Проект> Свойства
2- Перейдите в Путь сборки Java
3- В библиотеках выберите Система JRE ... и нажмите Редактировать
4- Выберите подходящую версию и подтвердите
источник