Programmation Java 7 dans Eclipse

J’ai installé JDK 7 et Eclipse 3.6M6 . Ensuite, j’ai ajouté JRE 7 comme nouvel environnement d’exécution JRE dans Eclipse et défini le niveau de conformité du compilateur sur Java 7. Je peux comstackr le morceau de code suivant via la ligne de commande en utilisant le javac fourni avec JDK 7.

 import java.util.HashMap; import java.util.Map; public class Try { public static void main(Ssortingng[] args) { Map map = new HashMap(); } } 

Mais, Eclipse donne les messages d’erreur suivants.

Nombre d’arguments incorrect pour le type HashMap; il ne peut pas être paramétré avec des arguments Try.java / TryJava7 / src line 7 Problème Java

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

Même si j’ai défini le niveau de conformité du compilateur à Java 7, il semble que Eclipse ne comprend pas encore la syntaxe Java7. Est-il possible de jouer avec Java 7 dans Eclipse?

Voici le contenu de .classpath .

       

Et ce qui suit est le contenu de .settings/org.eclipse.jdt.core.prefs .

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

Comme Alex l’a souligné, Eclipse utilise son propre compilateur qui ne prend actuellement pas en charge Java 7 et, comme indiqué dans le plan de projet pour le projet Eclipse, la version Helios , le support pour Java 7 est différé et découplé de la version 3.6:

  • ( (Nouveau) différé) Ajout du support pour les fonctionnalités de Java SE 7 . La prochaine version de Java SE est la version 7, qui sera probablement disponible dans la seconde moitié de 2010. Bien que le contenu de cette version soit toujours en discussion, cette version devrait contenir des extensions du langage Java, y compris des annotations sur les types. (JSR-308), prise en charge de la modularité (JSR-294) et autres modifications mineures de la langue (projet Coin). Les outils Java Eclipse incluront la prise en charge initiale de la compilation, de la modification et du lancement d’applications pour Java 7 pour les composants disposant de spécifications publiquement disponibles (uniquement JSR-308 à ce stade). [JDT Core, interface utilisateur JDT] ( 288548 )

    REMARQUE: Afin d’aligner notre planning sur l’apparence retardée de Java 7 et l’absence de spécifications publiquement disponibles (y compris l’absence de Java 7 JSR), nous avons décidé de déplacer le travail de développement dans une twig distincte et de le découpler du 3.6 libération. Dans cette twig, nous continuerons à développer les fonctionnalités de Java 7 dès qu’elles deviendront accessibles au public. Nous fournirons des mises à jour séparées pour les versions officielles afin de fournir un access rapide aux fonctionnalités de Java 7.

Voir http://wiki.eclipse.org/JDT_Core/Java7 , http://wiki.eclipse.org/PDE/API_Tools/Java7 et le bug 288548 pour obtenir le support continu d’Eclipse pour Java 7. Et voir http: // wiki .eclipse.org / JDT / Eclipse_Java_7_Support_% 28BETA% 29 pour savoir comment évaluer Java 7 dans Eclipse.

UPDATE 1: La twig BETA_JAVA7 a été fusionnée avec HEAD et R3_7_maintenance (voir l’ archive eclipse-dev ).

UPDATE 2: Eclipse 3.7.1 (Indigo SR1) prend en charge Java 7 .

Eclipse a son propre compilateur Java intégré. Donc, s’il n’y a pas de bêta éclipse ou quelque chose comme ça, qui peut déjà comstackr Java 7, alors vous n’avez pas de chance.

Netbeans devrait fonctionner.

Je consulte la twig dite JSR 308 de org.eclipse.jdt.core en utilisant les informations du référentiel CVS suivantes.

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

Ensuite, j’ai suivi les instructions pour installer le JDT extrait dans eclipse. Par la suite, j’ai recherché org.eclipse.jdt.core.tests.comstackr/src/org/eclipse/jdt/core/tests/comstackr/regression/NegativeTypeAnnotationTest.java et /org.eclipse.jdt.core.tests.comstackr/src/org/eclipse/jdt/core/tests/comstackr/regression/TestAll.java pour proposer de petits exemples d’exercer les annotations de type JSR 308.

À ce stade, la twig prend en charge et génère les nouveaux atsortingbuts correspondants dans les fichiers .class lorsque des annotations sur des types sont présentes. Mais les processeurs d’annotation ne semblent pas fonctionner.

Le support Java 7 (BETA) est désormais disponible dans JDT. Voir http://thecoderlounge.blogspot.com/2011/06/java-7-support-in-eclipse-jdt-beta.html