50 votes

Programmation Java 7 dans Eclipse

J'ai installé le JDK 7 et Eclipse 3.6M6. Ensuite, j'ai ajouté JRE 7 comme un nouveau JRE environnement d'exécution dans Eclipse, et le compilateur niveau de conformité de Java 7. Je peux compiler le morceau de code suivant sur la ligne de commande à l'aide de l' javac qui est livré avec le 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<>();
    }
}

Mais, Eclipse donne les messages d'erreur suivants.

Nombre Incorrect d'arguments en faveur de type HashMap; il ne peut pas être paramétrée avec des arguments Try.java /TryJava7/src ligne 7 Java Problème

Erreur de syntaxe sur token "<", ? attendu après ce jeton Try.java /TryJava7/src ligne 7 Java Problème

Même si j'ai mis le niveau de conformité de le compilateur de Java 7, il ressemble à Eclipse ne comprends pas Java7 encore la syntaxe. Est-il possible de jouer avec Java 7 dans Eclipse?

Ce qui suit est le contenu de .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>

Et, ce qui suit est le contenu de .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

40voto

Pascal Thivent Points 295221

Comme l'a souligné Alex, Eclipse utilise son propre compilateur, qui actuellement ne prend pas en charge Java 7 et, comme indiqué dans le Plan de Projet Pour le Projet Eclipse, version Helios, le support de Java 7 est reporté et découplée de la version 3.6:

  • ((new) différé) Ajouter le support de Java SE 7 caractéristiques. La prochaine fonctionnalité version de Java SE agit de la version 7, qui sera probablement disponible dans la la deuxième moitié de 2010. Alors que le le contenu de ce communiqué de presse sont encore en vertu de la discussion, que la release est prévu pour contenir des extensions à la Le langage Java, y compris les annotations sur les types (JSR-308), la modularité de soutien (JSR-294), et d'autres mineurs de la langue les changements (Pièce de projet). Eclipse Java outillage inclura support initial pour la compilation, l'édition, et le lancement de les applications Java 7 pour ceux les pièces qui ont publiquement disponible spécifications (seulement JSR-308 à ce point). [JDT Core, JDT UI] (288548)

    REMARQUE: afin d'aligner notre horaire retardé officiel Java 7 l'apparence et en raison du manque de les spécifications publiquement disponibles (y compris le manque d'une application Java 7 JSR), nous ont décidé de déplacer le développement de travail à une branche distincte et dissocier l' à partir de la version 3.6. Dans ce direction nous allons continuer à développer l' Java 7 fonctionnalités accessible au public. Nous vous livrons des mises à jour séparées pour l'officiel construit afin de fournir un début l'accès à Java 7 caractéristiques.

18voto

reprogrammer Points 4831

Voir http://wiki.eclipse.org/JDT_Core/Java7, http://wiki.eclipse.org/PDE/API_Tools/Java7 et Bug 288548 pour le soutien continu d'Eclipse pour Java 7. Et voir http://wiki.eclipse.org/JDT/Eclipse_Java_7_Support_%28BETA%29 pour obtenir des instructions sur la façon d'évaluer Java 7 dans Eclipse.

Mise à JOUR 1: L' BETA_JAVA7 branche a été fusionnée à l' HEAD et R3_7_maintenance (Voir l' eclipse-dev archive).

Mise à JOUR 2: Eclipse 3.7.1 (Indigo SR1) prend en charge Java 7.

6voto

Axel Gneiting Points 3808

Eclipse possède son propre intégré compilateur Java. Donc, si il n'y a pas d'éclipse bêta ou quelque chose comme ça qui déjà peut compiler Java 7, alors vous êtes hors de la chance.

Netbeans devrait fonctionner.

3voto

reprogrammer Points 4831

Je l'extraction de la dite JSR 308 branche de org.eclipse.jdt.noyau à l'aide de la suite du dépôt CVS de l'information.

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

Puis, j'ai suivi les instructions pour installer l'extrait JDT dans eclipse. Par la suite, j'ai regardé org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/NegativeTypeAnnotationTest.javaet /org.eclipse.jdt.core.tests.compiler/src/org/eclipse/jdt/core/tests/compiler/regression/TestAll.java à venir avec des petits exemples de l'exercice de la JSR 308 annotations de type.

À ce stade, la direction générale prend en charge et génère le correspondant de nouveaux attributs dans la .les fichiers de classe lorsque les annotations de types sont présents. Mais, annotation processeurs ne semble pas fonctionner.

2voto

Deepak Azad Points 4547

Java 7 (BÊTA) est maintenant disponible dans JDT. Voir http://thecoderlounge.blogspot.com/2011/06/java-7-support-in-eclipse-jdt-beta.html

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X