2013-10-02 6 views
6

Con la seguente classe semplice ottengo java: Duplicate methods named spliterator with the parameters() and() are inherited from the types java.util.List<T> and java.lang.Iterable<T> errore se usando il compilatore Eclipse in IDEA con JDK 8:"java: metodi duplicati di nome XXX" problema quando si utilizza Eclipse compilatore in IDEA con JDK 8

public class Java8Test { 
    public static interface Traverable<T> extends Iterable<T> {} 
    public static interface List<T> extends Traverable<T>, java.util.List<T> {} 
} 

Se cambiare il compilatore di javac, quindi non ci sono errori. L'errore è andato anche se passato a JDK 6 con il compilatore di Eclipse.

IDEA versione: 12.1.5

+2

Eclipse non supporta ancora Java 8. –

+1

oops non lo so. Lascerò questa domanda nel caso in cui altre persone abbiano la stessa confusione –

+0

A partire da 4.4 Eclipse supporta Java 8. La versione 4.3 può essere aggiornata a Java 8 ma non la supporta immediatamente. –

risposta

0

Ho avuto lo stesso problema. Sembra che il 4.3 JTD di Eclipse non stia andando bene con Java8. Sulle parole di Stephan Herrmann (CLA):

Un compilatore Java 7 non dovrebbe mai provare a compilare contro un JRE 8. Vero compatibilità per lo scenario non è specificato da nessuna parte e non può anche essere possibile a causa di inadempienza metodi che sono stati aggiunti a le librerie in un modo che garantisce la compatibilità di runtime del vecchio codice ma non compatibilità in fase di compilazione con un compilatore Java 7 e nuove librerie. Quindi sto marcando questo bug come non valido, è s.t. non possiamo supportare in base alla progettazione.

Si può leggere di più qui:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=407010

e qui:

https://bugs.eclipse.org/bugs/show_bug.cgi?id=409473

https://bugs.eclipse.org/bugs/show_bug.cgi?id=390889

+2

In altre parole, non utilizzare una data versione di un compilatore Java in una versione più recente di Java rispetto ai supporti del compilatore Java. Se vuoi Java 8, esegui su Java 8. –

4

ho ottenuto lo stesso errore quando si cerca di compilare Java 7 codice con un JDK Java 8.

La soluzione che ha funzionato per me stava cambiando il JRE configurato in Eclipse in uno Java 7: Window -> Preferences -> Java -> Installed JREs. Modificare quello esistente e selezionare una directory contenente un JDK Java 7.

+0

Project-Java Build Path-Libraries-Aggiungi libreria-Sistema JRE Libray-Scegli java 7 ed elimina java 8. Questo può cambiare l'impostazione specifica del progetto se non vuoi cambiare Eclipse impostazioni. – oscarthecat

Problemi correlati