Frage

ich installierte JDK 7 und Eclipse 3,6m6. Dann fügte ich JRE 7 als neue JRE -Ausführungsumgebung in Eclipse hinzu und habe die Compliance -Compliance -Ebene auf Java 7 eingestellt javac Das kommt mit JDK 7.

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

public class Try {

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

Eclipse gibt jedoch die folgenden Fehlermeldungen an.

Falsche Anzahl von Argumenten für Typ HashMap; Es kann nicht mit Argumenten try.java /tryjava7 /src Zeile 7 Java -Problem parametrisiert werden

Syntaxfehler am Token "<",? Erwartet nach diesem Token try.java /tryjava7 /src line 7 java Problem

Obwohl ich Java 7 das Compliance -Niveau des Compilers aufgestellt habe, sieht es die Java7 -Syntax noch nicht versteht. Ist es möglich, mit Java 7 in Eclipse zu spielen?

Das Folgende ist der Inhalt von .classpath.

<?xml version="1.0" encoding="UTF-8"?>
<classpath>
  <classpathentry kind="src" path="src"/>
  <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
  <classpathentry kind="output" path="bin"/>
</classpath>

Und das Folgende ist der Inhalt von .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
War es hilfreich?

Lösung 2

Sehen http://wiki.eclipse.org/jdt_core/java7, http://wiki.eclipse.org/pde/api_tools/java7 und Bug 288548 Für die ständige Unterstützung von Eclipse für Java 7. und siehe http://wiki.eclipse.org/jdt/eclipse_java_7_support_%28beta%29 Anweisungen zur Bewertung von Java 7 in Eclipse.

Update 1: Das BETA_JAVA7 Zweig wurde zusammengeführt zu HEAD und R3_7_maintenance (Siehe Eclipse-dev Archiv).

Update 2: Eclipse 3.7.1 (Indigo SR1) unterstützt Java 7.

Andere Tipps

Wie Alex betonte, verwendet Eclipse einen eigenen Compiler, der derzeit nicht Java 7 unterstützt und wie in der erwähnt wurde Projektplan für Eclipse Project, Version Helios, Die Unterstützung für Java 7 wird aufgeschoben und entkoppelt aus der 3.6 -Version:

  • ((new) verschoben) Fügen Sie Unterstützung für Java SE 7 -Funktionen hinzu. Die nächste Feature -Veröffentlichung von Java SE ist Version 7, die wahrscheinlich in der zweiten Halbzeit des Jahres 2010 verfügbar sein wird. Während der Inhalt dieser Veröffentlichung noch diskutiert wird, wird diese Veröffentlichung voraussichtlich Erweiterungen der Java -Sprache enthalten, einschließlich Anmerkungen zu Typen zu Typen (JSR-308), Modularity Support (JSR-294) und andere geringfügige Sprachänderungen (Coin-Projekt). Eclipse Java Tooling umfasst die erste Unterstützung für das Zusammenstellen, Bearbeiten und Starten von Anwendungen für Java 7 für diejenigen Teile, die öffentlich verfügbare Spezifikationen haben (zu diesem Zeitpunkt nur JSR-308). [JDT Core, JDT UI] (288548)

    HINWEIS: Um unseren Zeitplan mit dem verspäteten offiziellen Java 7 -Erscheinungsbild und aufgrund des Mangels an öffentlich verfügbaren Spezifikationen (einschließlich des Fehlens eines Java 7 JSR) auszurichten, haben wir beschlossen, die Entwicklungsarbeiten in einen separaten Zweig zu verschieben und sie von der 3.6 -Version zu entkoppeln . In dieser Niederlassung werden wir die Java 7 -Funktionen weiterentwickeln, wenn sie öffentlich zugänglich sind. Wir werden separate Updates für die offiziellen Builds liefern, um einen frühen Zugang zu Java 7 -Funktionen zu gewährleisten.

Eclipse hat einen eigenen eingebetteten Java -Compiler. Wenn es also keine Eclipse -Beta oder so etwas gibt, die Java 7 bereits kompilieren kann, haben Sie kein Glück mehr.

NetBeans sollte funktionieren.

Ich habe den sogenannten JSR 308 -Zweig von org.eclipse.jdt.core unter Verwendung der folgenden CVS -Repository -Informationen angesehen.

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

Dann folgte ich den Anweisungen, um das ausgecheckte JDT in Eclipse zu installieren. Anschließend sah ich auf org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/NegativeTypeAnnotationTest.java und/org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/TestAll.java Um kleine Beispiele zu finden, die JSR 308 -Anmerkungen ausüben.

Zu diesem Zeitpunkt unterstützt und generiert die Filiale die entsprechenden neuen Attribute in den .class -Dateien, wenn Anmerkungen zu Typen vorhanden sind. Aber Annotationsprozessoren scheinen nicht zu funktionieren.

Java 7 Support (Beta) ist jetzt in JDT erhältlich. Sehen http://thecoderlounge.blogspot.com/2011/06/java-7-support-clipse-jdt-beta.html

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top