Статьи

Сборка и запуск поддержки Java 8

Поддержка Eclipse для Java 8 пока недоступна для загрузки. Если вы хотите поиграть с ним, вы должны его построить. Страница Eclipsepedia JDT Core / Java8 содержит инструкции по настройке среды разработки с источником для развивающейся поддержки Java 8 в инструментах разработки Eclipse Java (JDT). В инструкциях не хватает нескольких частей; Я вернусь позже и добавлю их.

Я начал с установки Java Development Kit (JDK) 8. Я не особо задумывался о RPM; вместо этого я просто пошел к источнику . Для Linux это файл tar.gz, который я только что распаковал в рабочий каталог.

Затем я загрузил последнюю версию Eclipse SDK ( 4.4M5 на момент написания этой статьи). Это не заявленное требование, но я решил, что это будет хорошей отправной точкой. Я настроил параметр «vm» в файле eclipse.ini для использования Java 8 JRE, включенного в загруженный JDK. Я добавил « Git Team Provider » в SDK из репозитория программного обеспечения Luna.

JDT распространяется по небольшому количеству Git-репозиториев:

  • JDT Core git: //git.eclipse.org/gitroot/jdt/eclipse.jdt.core.git
  • Пользовательский интерфейс JDT git: //git.eclipse.org/gitroot/jdt/eclipse.jdt.ui.git
  • Отладка JDT git: //git.eclipse.org/gitroot/jdt/eclipse.jdt.debug.git

Также требуются некоторые обновления Equinox (я считаю, что это прежде всего для обеспечения требуемой среды исполнения Java 8)

Во всех репозиториях код содержится в ветке BETA_JAVA8. Я клонировал все эти репозитории и использовал удобную функцию «Импортировать все проекты», чтобы автоматически перенести весь код в мое рабочее пространство.

На этом этапе мой Package Explorer содержал много красных меток. Многие из плагинов настроены для компиляции с очень специфическими версиями Java, которые я еще не установил. Итак, я выследил JDK для Java 1.4 , 5 и 6 (у меня уже была установлена ​​Java 7). Я решил скачать самораспаковывающиеся архивы.

Я добавил каждый из них на страницу «Установленные JRE» в настройках.

Настройка сред выполнения Java (JRE) (и соответствующих JDK)

Настройка сред выполнения Java (JRE) (и соответствующих JDK)

Затем я настроил отображения среды выполнения для каждой JRE.

Это сделало большинство, но не все, красные следы исчезли.

В соответствии с инструкциями я скачал Eclipse SDK 4.3.1 для использования в качестве чистой целевой платформы и API-интерфейса (хотя я подозреваю, что было бы неплохо использовать 4.4M5 для обоих). Честно говоря, я не помню, исчезли ли еще какие-либо красные метки на этом шаге.

Я решил пойти на это, несмотря на оставшиеся красные метки (которые кажутся тестами, которые я не настроил должным образом), и настроить конфигурацию запуска. Оно живое.

Eclipse работает с Java 8

Eclipse работает с Java 8

Я начал немного возиться с лямбда-выражениями .

Короче говоря, компилятор Eclipse для Java (ECJ) хорошо справляется с ними. Помощник по содержимому еще не совсем готов, но синтаксически правильные лямбда-выражения компилируются и запускаются, как и ожидалось. Из активности в Bugzilla ясно, что это быстро продвигается вперед.

Как старый парень, который знает Smalltalk , мой первый инстинкт — создавать Smalltalk-подобные коллекции на Java.

Болтовня:

1
2
3
4
5
6
7
8
9
| employees names |
employees := OrderedCollection new
    add: (Employee named: 'Wayne');
    add: (Employee named: 'Joel');
    add: (Employee named: 'Jon');
    add: (Employee named: 'Anthony');
    yourself.
names := employees collect: [:employee | employee name].
output >> an OrderedCollection('Wayne' 'Joel' 'Jon' 'Anthony')

Java 8:

1
2
3
4
5
6
7
OrderedCollection employees = new OrderedCollection();
employees.add(new Employee("Wayne"));
employees.add(new Employee("Joel"));
employees.add(new Employee("Jon"));
employees.add(new Employee("Anthony"));
OrderedCollection names = employees.collect(employee -> employee.name);
output >> [Wayne, Joel, Jon, Anthony]

Подробнее об этом позже.

Обратите внимание на отказ от ответственности в нижней части страницы JDT Core / Java8 :

Работа в процессе. Содержимое ветви BETA_JAVA8 будет обновляться по мере внесения изменений в Спецификацию JSR. Пожалуйста, используйте ранние сборки доступа только в режиме тестирования / оценки, а не в реальной среде разработки. Если вам нужна помощь в этом, пожалуйста, свяжитесь с командой JDT / Core через форум или Bugzilla .

Справка: Сборка и запуск Java 8 Поддержка от нашего партнера по JCG Уэйна Битона в блоге Eclipse Hints, Tips и Random Musings .