Как установить затмение с JRE 8?

Я попытался обновить свою версию jre в eclipse, я добавил jre 8 к своей установленной JRE и проверил его. Когда я нажимаю ОК, мне выдает ОШИБКУ:

The type java.lang.CharSequence cannot be resolved. It is indirectly referenced from 
required .class files

Это происходит только тогда, когда я пытаюсь использовать JRE 8.

Кто-то знает, как это исправить?

Я использую Indigo Eclipse. Версия: Service Release 2.


person Community    schedule 18.04.2014    source источник
comment
Какую версию затмения вы используете?   -  person Wintermute    schedule 18.04.2014
comment
Версия: Indigo Service Release 2   -  person    schedule 18.04.2014
comment
Если вы на самом деле не привязаны к этой версии, загрузите eclipse Keplar с поддержкой Java 8. Это работает для меня, но все еще немного глючит.   -  person Wintermute    schedule 18.04.2014


Ответы (3)


Создайте новое рабочее пространство. Создайте новый проект Java и выберите jvm8 как jvm. Изменение виртуальной машины в существующем проекте довольно сложно, а кешированный файл класса, скомпилированный с предыдущей виртуальной машиной, может привести к странному непредсказуемому поведению.

person Simone    schedule 18.04.2014
comment
Есть ли способ обновить мой существующий (Android) проект? - person ; 18.04.2014
comment
Вы можете попробовать изменить среду выполнения, но, на мой взгляд, проще создать новый проект и скопировать исходный код из старого проекта в новый проект. - person Simone; 18.04.2014

Проблема в rt.jar в JVM 8.0.

java.lang.CharSequence — это класс в rt.jar. rt.jar под JVM 7.0 не имеет проблем, но rt.jar под JVM 8.0 имеет проблемы с Eclipse Indigo. Solition загружает Eclipse Kepler, JVM 8.0 с Kepler работает без проблем.

person user3573186    schedule 25.04.2014

Вам нужен Eclipse Kepler (4.3) Service Release 2. После запуска вам необходимо установить патч, который позволяет использовать Java 8 в eclipse с этого сайта обновлений (Справка -> установить новое программное обеспечение... -> использовать сайт):

http://download.eclipse.org/eclipse/updates/4.3-P-builds/

Но проект Android не выиграет от Java 8, потому что он по-прежнему использует Java 6, и вы не можете использовать лямбда-выражения или даже алмазный оператор из Java 7.

person Simulant    schedule 18.04.2014
comment
Я использую Indigo eclipse, он также будет работать с индиго? Спасибо, что переигрываете. - person ; 18.04.2014
comment
Нет, Java 8 в Eclipse поддерживается только Kepler (4.3.2) И с дополнительным патчем, описанным в моем посте. Нет Indigo, для других версий. - person Simulant; 18.04.2014