Предупреждение - Путь сборки указывает среду выполнения J2SE-1.4

141

Я создаю проект Maven в Eclipse Helios. Он работает нормально в течение дня, но затем появляется это предупреждение:

Путь сборки указывает среду выполнения J2SE-1.4. В рабочей области нет установленных JRE, которые строго совместимы с этой средой.

После этого сообщения проект прекратил компиляцию и отладку. Есть ли у кого-нибудь решение этой проблемы?

Нарсерег
источник

Ответы:

229

В Eclipse из вашего проекта:

  1. Щелкните правой кнопкой мыши свой проект
  2. Щелкните Свойства
  3. Путь сборки Java: Библиотеки; Удалите «Системную библиотеку JRE [J2SE 1.4]»
  4. Нажмите Добавить библиотеку -> Системная библиотека JRE.
  5. Выберите новую «среду выполнения» или рабочую область по умолчанию JRE.
btpka3
источник
43
Этот ответ верен для Eclipse, но неверен для Maven + Eclipse
Крис Долан
17
Это временно решит проблему, пока не будет запущена другая сборка maven, после чего версия JRE будет сброшена до значения по умолчанию. См. Ответ Pascal Thivent, чтобы изменить версию JRE по умолчанию, указанную в POM.
matthewb
Все не работает. Всякий раз, когда вы нажимаете [Alt] [F5] для обновления конфигурации maven, все такие ручные настройки получают много, и предупреждение возвращается. См. Bugs.eclipse.org/bugs/show_bug.cgi?id=376619
Jörg,
182

Независимо от того, используете ли вы плагин maven eclipse или m2eclipse , конфигурация проекта Eclipse получена из POM, поэтому вам необходимо настроить плагин компилятора maven для версии 1.6 (по умолчанию он равен 1.4).

Добавьте следующее в свой проект pom.xml, сохраните, затем перейдите в свой проект Eclipse и выберите Свойства> Maven> Обновить конфигурацию проекта:

<project>
 <build>
  <pluginManagement>
   <plugins>
    <plugin>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-compiler-plugin</artifactId>          
        <configuration>
            <source>1.6</source>
            <target>1.6</target>
        </configuration>
    </plugin>
   </plugins>
  </pluginManagement>
 </build>
</project>
Паскаль Тивент
источник
4
Согласен, это правильный ответ. Многие другие решения временно решат проблему до тех пор, пока не будет запущена другая сборка Maven, после чего JRE будет сброшена до версии по умолчанию. Добавление этого плагина в POM изменяет версию JRE по умолчанию.
matthewb
Куда (полное расположение XPATH) в pom.xml это идет? Куда бы я ни добавлял, Maven жалуется на деформированный pom.
Эд Рэндалл
2
Это правильный ответ. Принятый ответ - временное исправление!
Скотт Оффен
@EdRandall, пожалуйста, проверьте maven.apache.org/plugins/maven-compiler-plugin/usage.html
Мартин Дюррмайер,
У меня есть это в моем maven pom.xml, и все еще получаю предупреждение. Вроде все работает, но предупреждение все еще есть
ropo
10

Вышеупомянутые решения исправляют проект или каким-то образом обходят проблему. Иногда вы просто не хотите исправлять проект, а вместо этого просто скрываете предупреждение.

Для этого настройте содержимое панели предупреждений и обязательно отключите категорию «путь сборки» -> «Проблема с системным путем JRE». Пользовательский интерфейс этого диалога немного сложен / странен / затруднен в использовании, поэтому вам, возможно, придется повозиться с некоторыми параметрами, чтобы заставить его делать то, что вы хотите.

Джиллес ван Гурп
источник
У меня есть две рабочие области, настроенные таким же образом с JDK 7, но компилируемые до версии 1.6 (в конце концов мы перейдем к ней). Машина была жестко выключена старым добрым Центром обновления Windows - и открытая рабочая область начала показывать это, и это никак не смягчилось. Спасибо, что указали на обходной путь!
RedYeti
13
Или другой немного более чистый способ: Window -> Preferences -> Java -> Compiler -> Building -> Установить «Нет строго совместимой JRE для среды выполнения» на «Игнорировать»
RedYeti
@RedYeti, это должно сработать, но это не для меня (Eclipse 4.5)
NathanChristie
3

В настройках eclipse перейдите в Java-> Установленные JRE-> Среда выполнения и настройте среду выполнения JRE для J2SE-1.4.

Крок
источник
Это временно решит проблему, пока не будет запущена другая сборка maven, после чего версия JRE будет сброшена до значения по умолчанию. См. Ответ Pascal Thivent выше, чтобы изменить версию JRE по умолчанию, указанную в POM.
matthewb
Нет, это меняет рабочую область, в которой установлены JRE, а не ту, которая предназначена для конкретного проекта (что было в принятом ответе)
AlBlue 01
3

Фактическая причина этого предупреждения заключается в том, что вы настроили свой проект для работы с более ранней версией JRE, чем вы установили. Обычно это происходит всякий раз, когда вы используете старые проекты с новыми JRE.

Скорее всего, это не вызовет никаких проблем. Но если вы действительно хотите сэкономить, вам следует установить правильный старый JDK. Вы можете найти их здесь: http://www.oracle.com/technetwork/java/archive-139210.html

Если затем рестарт затмение вы можете пойти в Window> Preferences> Java> Installed JREs> Execution Environments и набор для в вашем случае J2SE-1.4 [идеальный матч] , как затмение вызывает.

Христианин
источник
Проголосовал за, потому что у меня есть проект Java 7 и установлена ​​только Java 8.
Амеди Ван Гассе
2

Если у вас Java 1.8, тогда

Вам нужна эта xml-часть в pom.xml и обновите проект.

 <properties>
    <maven.compiler.target>1.8</maven.compiler.target>
  </properties>
N ..
источник
2

правильная процедура для устранения этого предупреждения, как пишут другие люди, заключается в том, чтобы войти в свойства вашего проекта и щелкнуть путь сборки Java, расположенный слева. Теперь вы найдете внутри окна библиотеки в J2SE 1.5 , двойной щелчок на этом и новое окно даст вам возможность выбрать правильный Excecution среды . Теперь выберите свою версию, и предупреждение исчезнет.

кибердемон
источник
1

Вы настроили свой проект для компиляции в соответствии с 1.4? Если да, сделайте то , что сказал Крок . Или, если быть более точным, вам нужно выбрать среду выполнения J2SE-1.4 и отметить одну из установленных JRE, которую вы хотите использовать в режиме соответствия 1.4; скорее всего, у вас установлена ​​1.6 JRE, просто проверьте ее. Или установите 1.4 JRE, если у вас есть установочный комплект, и используйте его.

В противном случае перейдите в настройки Eclipse, Java -> Compiler и проверьте, установлено ли соответствие 1.4. Если это так, верните его на 1.6. Если это не так, перейдите в свойства проекта и проверьте, есть ли у него настройки для конкретного проекта. Перейдите в Java Compiler и снимите флажок, если вы хотите использовать общие настройки eclipse. Или установите для конкретных параметров проекта значение 1,6, чтобы всегда было 1,6 независимо от предпочтений eclipse.

Андрей Фирбинтяну
источник
Это временно решит проблему, пока не будет запущена другая сборка maven, после чего версия JRE будет сброшена до значения по умолчанию. См. Ответ Pascal Thivent выше, чтобы изменить версию JRE по умолчанию, указанную в POM.
matthewb
0

Просто измените версию в Window-> Preferences-> Java -> Installed JREs. Проверьте список установленных JRE. Затем щелкните правой кнопкой мыши свой проект -> свойства -> путь сборки Java -> библиотеки. Измените «Системную библиотеку JRE» на версию в «установленных JRE».

Предупреждение исчезнет.

Анкита Дж.
источник
-1

Я получал предупреждение проекта: « Путь сборки указывает среду выполнения J2SE-1.5. В рабочей области нет установленных JRE, которые строго совместимы с этой средой ». Я удалил библиотеку J2SE1.5 и добавил новую системную библиотеку JRE, которая решила мою проблему.

Прагати Чатурведи
источник
Чем это отличается от ответа btpka3 ?
Stevoisiak
-1

Разверните свой проект в рабочей области >> щелкните правой кнопкой мыши (Системные библиотеки JRE) >> выберите свойства >> выберите рабочее пространство по умолчанию JRE вышеуказанное решение sol

Ахил
источник
Это просто повторяет информацию, содержащуюся в ответе
btpka3