Итак, мой проект maven настроен на Java9
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.9</source>
<target>1.9</target>
<compilerVersion>1.9</compilerVersion>
</configuration>
</plugin>
</plugins>
</build>
Но если я проверю путь сборки проекта, в eclipse все равно будет указано JRE System Library [J2SE-1.5] (вместо JavaSE-9), поэтому он в основном использует Java1.5 и дает мне много ошибок. Если я вручную исправлю эту запись, все будет в порядке. Но разве Maven не должен обрабатывать полные настройки пути к классам? Ответ на этот вопрос, вероятно, довольно прост, но я не могу его понять.
Спасибо!
РЕДАКТИРОВАТЬ Исправление заключалось в том, чтобы удалить compilerVersion и отредактировать исходный и целевой теги:
<configuration>
<source>9</source>
<target>9</target>
</configuration>
Кислород! может это быть проблемой?




Иногда исходная версия Maven (1.9 - ваш конкретный случай) и исходная версия Eclipse не синхронизируются, особенно если исходная версия в файле pom.xml изменена после проект был создан в Eclipse. Чтобы вернуть их в синхронизацию, выполните следующие действия:
MavenUpdate Project...Вы также можете обновить конфигурацию Maven с помощью Alt + F5. Для получения дополнительной информации см. Что заставляет импортированный проект Maven в Eclipse использовать Java 1.5 вместо Java 1.6 по умолчанию и как я могу гарантировать, что это не так?.
Я, конечно, пробовал, но иногда кажется, что затмение что-то делает, а потом снова SE1.5. Мне приходится вручную перезаписывать путь к классам снова и снова. Забавно то, что если я установил его на JDK9, запись в обзоре пути к классам из eclipse исчезнет, и все в порядке :(
Итак, я попробовал несколько вещей, и оказалось, что проекты обновления сбрасывают проект на se1.5. Ошибка должна быть где-то еще :(
Шаг 1. Проверьте ПУТЬ MAVEN и JAVA
mvn -v
В выводе проверьте, указывает ли "версия Java" на 1.9.
Apache Maven 3.5.2 (138edd61fd100ec658bfa2d307c43b76940a5d7d; 2017-10-18T13:28:13+05:30)
Maven home: /Maven/3.5.2
Java version: 9.0.4, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-9-oracle
Default locale: en_US, platform encoding: UTF-8
OS name: "linux", version: "4.4.0-119-generic", arch: "amd64", family: "unix"
Шаг 2. Убедитесь, что JDK 9 настроен в IDE (eclipse / sts)
Шаг 3. Обновите проект Maven, чтобы изменения повлияли на него
Я использую встроенный maven eclipse. Но он всегда устанавливает версию SE1.5. Если я установлю SE9 вручную, некоторые функции, такие как иерархия вызовов и тому подобное, больше не будут работать, есть идеи?
Во-первых, какую версию Eclipse вы используете?