2014-10-31 3 views
4

У меня есть проект maven в eclipse, который использует некоторые lambdas, что означает, что мне нужно java 8. Я уже установил java-версию в maven до 1.8. Тем не менее, мне приходится постоянно открывать свойства проекта и устанавливать его уровень соответствия 1.8, потому что он постоянно сбрасывается до 1.6.Eclipse продолжает забывать о соответствии JDK, устанавливает его в 1.6

Я нахожусь в Eclipse EE Luna 4.4.0 и пробовал разные вещи, такие как отключение для каждого проекта, или переход в проект и установление его соответствия 1,8, но обе вещи не работают в долгосрочной перспективе ,

Как правило, после повторной установки соответствия проекта 1.8 вид пакета отображается нормально, но редактор по-прежнему показывает ошибки, если у меня есть открытый файл, в котором используется лямбда. Затем я должен щелкнуть по знаку ошибки в редакторе и выбрать предложение «установить уровень соответствия проекта 1,8». Иногда это срабатывает, иногда нет.

Проблема запускается специально после запуска затмения, закрытия и открытия одного и того же проекта или при выполнении проверок. В представлении пакета обычно отсутствуют ошибки, когда я делаю alt + f5 и обновляюсь, но просмотр редактора часто все еще показывает ошибки.

В моем плагине eclipse maven используются те же скрипты maven, которые я использую в командной строке, и у меня никогда не было проблем в командной строке.

Это сводит меня с ума, потому что это происходит не менее двух раз в день и не имеет прямого обходного пути.

В конце как мой п и родительский п файл у меня есть это:

<project> 
. . . 
<build> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.1</version> 
      <configuration> 
       <encoding>UTF-8</encoding> 
       <source>1.8</source> 
       <target>1.8</target> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 
</project> 
+3

Вы начинаете затмение с Java 8? –

+0

Вы пытались перейти к Eclipse Perferences-> Java-> Compiler и изменить уровень соответствия компилятора на 1.8. Это изменит версию JDK по умолчанию для всех проектов eclipse, используя значение по умолчанию (которое, похоже, делает это, несмотря на ваши усилия). Также взгляните на http://maven.apache.org/plugins/maven-eclipse-plugin/trouble-shooting/jdk-being-used-is-different-than-expected.html –

+0

@Elliot да, я начиная с командной строки, чтобы иметь больший контроль. FYI не имеет значения, когда я устанавливаю JAVA_HOME и PATH на Java 7 или 8. – Fabio

ответ

2

У вас есть m2e плагина установлен?

У меня была аналогичная проблема раньше, плагин всегда жалуется на синтаксис родительского пом. Я наконец отключил плагин и использовал mvn eclipse: eclipse для создания/обновления проекта.

+0

Это имеет смысл. В моем случае дела были более сложными, потому что мы унаследовали наш поместье от другого помпе, внутри которого много волшебства. Одна из его настроек - настройка соответствия java. К счастью, мы смогли найти эту проблему и исправить родительский pom. – Fabio

0

В моем случае нет родительского пом. Я отменил его:
(1) удалить проект из рабочего пространства затмения (не удалять содержимое диска).
(2) поиск "1,5" из каталога (с помощью блокнота ++), найдено 3 вхождений в .settings/org.eclipse.jdt.core.prefs, замените их на 1.8 и сохранить.
(3) повторно запустите проект в затмении.

Обратите внимание, что это не сработает, если вы замените их в редакторе ecplise.

Смежные вопросы