Domanda

I installato JDK 7 e Eclipse 3.6M6 . Poi, ho aggiunto JRE 7 come un nuovo ambiente di esecuzione JRE in Eclipse, e impostare il livello di conformità compilatore di Java 7. posso compilare il seguente pezzo di codice attraverso la linea di comando usando l'javac fornito con 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<>();
    }
}

Ma, Eclipse fornisce i seguenti messaggi di errore.

  

Numero errato di argomenti per tipo HashMap; esso non può essere parametrizzato con argomenti Try.java / TryJava7 / src linea 7 Java Problema

     

Errore di sintassi sul gettone "<",? previsto dopo questo token Try.java / TryJava7 / src linea 7 Java Problema

Anche se ho impostato il livello di conformità del compilatore Java 7, sembra che Eclipse non capisce la sintassi Java7 ancora. E 'possibile giocare con Java 7 in Eclipse?

Di seguito è il contenuto di .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>

E, quanto segue è il contenuto del .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
È stato utile?

Soluzione 2

http://wiki.eclipse.org/JDT_Core/Java7 , http://wiki.eclipse.org/PDE/API_Tools/Java7 e Bug 288.548 per il supporto continuo di Eclipse per Java 7. E vedere http://wiki.eclipse.org/JDT/Eclipse_Java_7_Support_%28BETA%29 per le istruzioni su come valutare Java 7 in Eclipse.

UPDATE 1: Il ramo BETA_JAVA7 è stata fusa per HEAD e R3_7_maintenance (Vedere la eclipse-dev archivio ).

UPDATE 2: Eclipse 3.7.1 (Indigo SR1) supporta Java 7 .

Altri suggerimenti

Come Alex ha sottolineato, Eclipse utilizza il proprio compilatore che attualmente non supporta Java 7 e, come indicato nella Progetto Piano per Eclipse progetto, la versione Helios , il supporto per Java 7 è differito e disaccoppiato dal rilascio 3.6:

  
      
  • ((nuovo) differita) Aggiungi il supporto per Java SE 7 caratteristiche . La prossima funzione   rilascio di Java SE è la versione 7, che   sarà probabilmente disponibile in   seconda metà del 2010. Mentre il   contenuto di questo comunicato sono ancora   in discussione, che il rilascio è   dovrebbe contenere estensioni al   linguaggio Java, tra cui le annotazioni   sui tipi (JSR-308), supporto modularità   (JSR-294), e altre lingue minori   modifiche (progetto Coin). Eclipse Java   utensili includerà il supporto iniziale   per la compilazione, l'editing, e il lancio   applicazioni per Java 7 per coloro   parti che hanno a disposizione al pubblico   specifiche (solo JSR-308 in questa   punto). [JDT Core JDT UI] ( 288.548 )

         

    Nota: al fine di allineare la nostra   pianificazione con il funzionario ritardata   Java 7 aspetto e la causa della mancanza di   specifiche disponibili al pubblico   (Compresa la mancanza di un Java 7 JSR), abbiamo   hanno deciso di spostare lo sviluppo   lavoro ad un ramo e disaccoppiare separato   dalla versione 3.6. In ciò   ramifichiamo noi continueremo a sviluppare la   Java 7 caratteristiche man mano che diventano   accessibile al pubblico. Consegneremo   aggiornamenti separati per il funzionario   costruisce al fine di fornire in anticipo   l'accesso a Java 7 caratteristiche.

  •   

Eclipse ha il suo compilatore Java incorporato. Quindi, se non v'è alcuna beta eclisse o qualcosa di simile che già può compilare Java 7 allora sei fuori di fortuna.

Netbeans dovrebbe funzionare.

I check-out il cosiddetto JSR 308 ramo org.eclipse.jdt.core utilizzando le seguenti informazioni CVS repository.

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

Poi, ho seguito le istruzioni per installare il controllato JDT in Eclipse. Successivamente, alzai gli occhi e 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 a venire con piccoli esempi esercitano JSR 308 annotazioni di tipo.

A questo punto, i supporti di filiale e genera i corrispondenti nuovi attributi nei file .class quando annotazioni sui tipi sono presenti. Ma, i processori di annotazione non sembrano al lavoro.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top