Перейдите на jdk 7 в eclipse (sts)

Как мне переключить проект с JDK 6 на 7, я знаю, что не использую его, потому что переключатель не принимает String.

В пути сборки у меня jre 7, в настройках компилятора у меня 1.7, везде и все равно не работает. Я использую последнюю версию Spring Tool Suite (на основе Eclipse), которая официально поддерживает Java 7.

А в проектных фасетах у меня тоже 1.7. Почему это должно быть так чертовски сложно.

А в .ini у меня совершенно правильно C:\Program Files\Java\jdk1.7.0\bin\javaw.exe -startup

И я уверен, что моя IDE поддерживает 7, потому что всякий раз, когда я создаю новый проект, у меня нет синтаксических ошибок с оператором String switch.

И мой JAVA HOME установлен на JDK 1.7 :-)

ОБНОВЛЕНИЕ: Проблема возникает только с проектами Spring.

ОБНОВЛЕНИЕ 2: происходит с шаблоном проекта Spring MVC, шаблон Spring Hibernate, по-видимому, работает с Java 7.

Совсем запутался.


person Aubergine    schedule 21.11.2011    source источник


Ответы (3)


Когда я запускаю новый проект Java в Eclipse Indigo, eclipse сообщает мне, что уровень соответствия компилятора 1.7 не поддерживается:

введите здесь описание изображения

Невозможно изменить это изнутри eclipse, диалоговое окно свойств показывает, что:

введите здесь описание изображения

В результате невозможно использовать новый оператор switch со строками в нем:

введите здесь описание изображения

Дополнительную информацию по теме см. в "Сообщение на форумах Eclipse". . Похоже, это придет только со следующей версией eclipse.

person mliebelt    schedule 21.11.2011
comment
При обновлении до Eclipse 3.7.1 поддерживаются все функции JDK7. - person dunni; 21.11.2011
comment
это не относится ко мне, в этом раскрывающемся меню у меня есть 1.7, и всякий раз, когда я создаю новый простой проект Java, я могу легко использовать операторы переключения со String. Это только с ранее завезенными проектами весеннего характера. - person Aubergine; 21.11.2011

В окне/предпочтения/Установленные JRE вам необходимо установить JDK1.7 по умолчанию. Кроме того, в Project/Properties Java Compiler он также должен быть установлен (или отключен для конкретных настроек проекта).

ОБНОВЛЕНИЕ:

В моей папке .settings есть файл с именем org.eclipse.wst.common.project.facet.core.xml.

<?xml version="1.0" encoding="UTF-8"?>
<faceted-project>
  <fixed facet="wst.jsdt.web"/>
  <installed facet="java" version="1.6"/>
  <installed facet="jst.web" version="2.4"/>
  <installed facet="wst.jsdt.web" version="1.0"/>
</faceted-project>

и содержит некоторые довольно подозрительные значения. Не уверен, что это имеет значение, но стоит попытаться закрыть проект, изменить его, а затем снова открыть проект. Если это не поможет, найдите строку 1.6 во всех файлах вашего проекта.

person Peter Szanto    schedule 21.11.2011
comment
У меня такое есть, я уже говорил... Проблема с импортированным проектом, который использовал 6. - person Aubergine; 21.11.2011
comment
Я действительно не знаю, что происходит, кажется, что весенние проекты - это те, которые не хотят работать с java 7, любые другие простые проекты java работают отлично. - person Aubergine; 21.11.2011

Сравните файлы .classpath и .project между вашими простыми проектами Java и проектами Spring. Иногда параметр Природа или другой параметр проекта можно задать по-другому.

person Wojtek Owczarczyk    schedule 21.11.2011
comment
Я оставил импортированный проект и создал новый из весеннего шаблона. У него та же проблема, что и у импортного. Однако с простыми java-проектами проблем нет, хотя maven автоматически используется для весенних проектов, может ли это быть причиной? (Я сравнил файлы, ничего необычного, кроме некоторых записей, замененных с помощью maven) - person Aubergine; 21.11.2011
comment
Однако там нет проблем: ‹java-версия›1.7‹/java-версия› - person Aubergine; 21.11.2011