Программирование Java 7 в Eclipse

Я установил JDK 7 и Eclipse 3.6M6. Затем я добавил JRE 7 как новую среду выполнения JRE в Eclipse и установил уровень совместимости компилятора на Java 7. Я могу скомпилировать следующую часть кода через командную строку с помощью javac это идет с JDK 7.

import java.util.HashMap;
import java.util.Map;

public class Try {

    public static void main(String[] args) {
        Map map = new HashMap<>();
    }
}

Но, Eclipse дает следующие сообщения об ошибках.

Неправильное количество аргументов в пользу типа HashMap; это не может быть параметризовано со строкой Try.java/tryjava7/src аргументов 7 проблем Java

Синтаксическая ошибка на маркере" <"? ожидаемый после этой маркерной строки Try.java/tryjava7/src 7 проблем Java

Даже при том, что я установил уровень соответствия компилятора к Java 7, похоже, что Eclipse еще не понимает синтаксис Java7. Действительно ли возможно играть с Java 7 в Eclipse?

Следующее является содержанием .classpath.



  
  
  

И, следующее является содержанием .settings/org.eclipse.jdt.core.prefs.

eclipse.preferences.version=1
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
org.eclipse.jdt.core.compiler.codegen.targetPlatform=1.7
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
org.eclipse.jdt.core.compiler.compliance=1.7
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
org.eclipse.jdt.core.compiler.debug.localVariable=generate
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
org.eclipse.jdt.core.compiler.problem.assertIdentifier=error
org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
org.eclipse.jdt.core.compiler.source=1.7

50
задан reprogrammer 14 April 2010 в 04:36
поделиться

3 ответа

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

Netbeans должен работать.

6
ответ дан 7 November 2019 в 11:04
поделиться

Как заметил Алекс, Eclipse использует собственный компилятор, который в настоящее время не поддерживает Java 7, и, как отмечено в плане проекта для проекта Eclipse. , версия Helios , поддержка Java 7 отложена и отделена от выпуска 3.6:

  • ((new) отложено) Добавить поддержку функций Java SE 7 . Следующим выпуском функции Java SE является версия 7, которая , вероятно, будет доступна во второй половине 2010 года. Хотя содержание этого выпуска все еще в стадии обсуждения, ожидается, что этот выпуск будет содержать расширения для языка Java, включая аннотации по типам (JSR-308), поддержку модульности {{ 1}} (JSR-294) и другие незначительные языковые изменения (проект Coin). Инструменты Eclipse Java будут включать начальную поддержку для компиляции, редактирования и запуска приложений для Java 7 для тех частей, которые являются общедоступными спецификации (только JSR-308 в этой точке). [JDT Core, JDT UI] ( 288548 )

    ПРИМЕЧАНИЕ: Чтобы согласовать наш график с задержкой официального появления Java 7 и из-за отсутствие общедоступных спецификаций (в том числе отсутствие Java 7 JSR), мы решили переместить разработку в отдельную ветку и отделить { {1}} из версии 3.6. В этой ветке мы продолжим разработку функций Java 7 по мере того, как они станут общедоступными. Мы будем поставлять отдельные обновления для официальных сборок, чтобы обеспечить ранний доступ к функциям Java 7.

40
ответ дан 7 November 2019 в 11:04
поделиться

Я проверил так называемую ветку JSR 308 в org.eclipse.jdt.core, используя следующую информацию CVS репозитория.

Connection type: pserver
User: anonymous
Host: dev.eclipse.org
Port: Default
Repository path: /cvsroot/eclipse
Module: org.eclipse.jdt.core
Tag: JSR_308 (Branch)

Затем я последовал инструкциям по установке проверенного JDT в eclipse. Затем я нашел org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/NegativeTypeAnnotationTest.java и /org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/TestAll.java, чтобы придумать небольшие примеры, использующие аннотации типов JSR 308.

На данный момент ветвь поддерживает и генерирует соответствующие новые атрибуты в файлах .class при наличии аннотаций на типы. Но, похоже, что процессоры аннотаций не работают.

3
ответ дан 7 November 2019 в 11:04
поделиться
Другие вопросы по тегам:

Похожие вопросы: