2016-02-26 3 views
1

Я очень удивлен, как трудно работать с Eclipse - почти все, что я пытаюсь сделать, заканчивается вопросом SE.Настройка Eclipse STS для использования Java 8 для компиляции Java-кода моего проекта

У меня есть новый проект, который состоит из двух файлов и некоторых внешних библиотек. Этот проект может быть скомпилирован вручную с помощью сценария командной строки:

rem List all java files in jar/ directory to text file 
dir /s /B jar\*.java > sources.txt 
rem make javac compile those files and put the .class files in bin directory 
javac -cp %PZCLASSPATH% -d bin @sources.txt 

Я использую java 8 JDK для компиляции проекта. Я даже не мечтаю о том, чтобы Eclipse когда-либо строил то же самое (или вообще строит должным образом), но по крайней мере я хотел бы использовать Java 8 для проверки кода, чтобы избежать ошибок для кода, несовместимого со старыми версиями Java:

image description

Я посмотрел в свойствах проекта и пытались найти что-то настройки:

image description

Как вы можете видеть, Java 8 любопытное отсутствует в этом меню. В NetBeans я помню, как просто менял JDK на желаемую версию. Вероятно, лучший подход, чем жестко настроенное меню.

Также в меню даже, кажется, не имеет такой эффект, как я вижу The import java.util.Arrays cannot be resolved ошибки для import java.util.Arrays; команды:

image description

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

Есть ли другой способ его настройки?

+0

Также похоже, что вы используете старую версию STS. Последние версии STS поддерживают настройки компилятора Java8 уже в течение длительного времени - независимо от JDK, на котором выполняется сама IDE. –

ответ

1

Первое, что вам нужно сделать, это убедиться, что ваше рабочее пространство имеет доступ к Java 8 JRE.

Перейдите в «окно >> Настройки». Затем введите «JRE» в поле поиска. Выберите «Установленные JRE». Если Java 8 не существует. Добавить один.

enter image description here

Теперь, когда Eclipse, имеет JRE доступного вы можете начать использовать его в своих проектах. Вы можете либо установить Java 8 как «стандартную JRE», установив флажок напротив него в том же диалоговом окне Prefs «Установленные JRE», либо выберите его для определенного проекта (это действительно лучше всего, поскольку он по умолчанию не работает ». t гарантирует, что проект будет использовать его, поскольку его используется только «по умолчанию», если только проект не устанавливает его конкретно).

Щелкните правой кнопкой мыши проект и выберите «Свойства >> Java Buildpath».

На вкладке «Библиотеки» отображается «Системная библиотека JRE» для Java 8. Если она показывает неправильную JRE, удалите ее и добавьте новую, обязательно выберите ее с правой «средой выполнения», которую вы хотите использовать:

enter image description here

Обычно это должно быть достаточно. Уровни цели/источника компилятора обычно автоматически следуют за версией JRE. Хотя ... на самом деле это можно переопределить. Это связано с тем, что JDK 8 обратная совместимость и возможность компиляции и работы с Java 7, 6 и т. Д. Таким образом, исходный и целевой уровни компилятора независимо настраиваются.

Итак ... лучше всего проверить их и убедиться, что вы случайно не переопределили настройки компилятора. У вас уже есть скриншот для этого параметра, поэтому я предполагаю, что вы знаете, где его найти (Project >> Properties >> Java >> Compiler). Однако, в отличие от показано на скриншоте, я полагаю, что вы не установите его специально, а выбрать опцию, чтобы сделать его следовать выбранной JRE:

enter image description here

Final Примечание: Ручная настройка это действительно бит болезненный. Однако люди обычно этого не делают. Например, если вы используете maven, то, предположив, что ваш файл pom указывает все сведения о том, как скомпилировать ваш код и какую JRE он требует, тогда такой инструмент, как M2E, настроит для вас Eclipse, и все, что вам осталось сделать, это первый шаг от моих инструкций, чтобы обеспечить доступность необходимой JRE. M2E автоматически выполнит все остальные шаги).