2013-10-02 4 views
6

Mit der folgenden einfachen-Klasse bekomme ich java: Duplicate methods named spliterator with the parameters() and() are inherited from the types java.util.List<T> and java.lang.Iterable<T> Fehler, wenn Eclipse-Compiler in IDEA mit JDK 8:"java: Doppelte Methoden XXX genannt" Problem bei der Eclipse-Compiler in IDEA mit 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> {} 
} 

Wenn die Änderung Compiler zu javac, dann gibt es keinen Fehler. Der Fehler ist auch verschwunden, wenn mit dem Eclipse-Compiler auf JDK 6 umgeschaltet wurde.

IDEA Version: 12.1.5

+2

Eclipse unterstützt Java 8 noch nicht. –

+1

Hoppla weiß das nicht. Ich werde diese Frage hier lassen, falls andere Leute die gleiche Verwirrung haben. –

+0

Ab Version 4.4 unterstützt Eclipse Java 8. Das Release 4.3 kann auf Java 8 aktualisiert werden, unterstützt es aber nicht von Anfang an. –

Antwort

0

Ich hatte das gleiche Problem. Es scheint, dass Eclipse's 4.3 JTD mit Java8 nicht gut läuft. Auf den Worten von Stephan Herrmann (CLA):

Ein Java-7-Compiler sollte nie gegen eine JRE 8. Richtig Kompatibilität für das Szenario zu kompilieren versuchen nicht überall angegeben und dürfen nicht sogar möglich sein, wegen Nichterfüllung Methoden, die zu hinzugefügt wurden die Bibliotheken in einer Weise, die Laufzeitkompatibilität von alten Code aber nicht kompilieren Zeit Kompatibilität mit einem Java 7-Compiler und neue Bibliotheken. Daher markiere ich diesen Fehler als ungültig, es liegt an wir können nicht Unterstützung von Design.

Sie können mehr hier lesen:

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

und hier:

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

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

+2

Mit anderen Worten, verwenden Sie nicht eine bestimmte Version eines Java-Compilers in einer neueren Version von Java, als der Java-Compiler unterstützt. Wenn Sie Java 8 benötigen, führen Sie Java 8 aus. –

4

bekam ich den gleichen Fehler, wenn sie versuchen Java zu kompilieren 7 Code mit einem Java 8 JDK.

Die Lösung, die für mich funktionierte, war das Ändern der JRE in Eclipse zu einem Java 7 konfiguriert: Window -> Preferences -> Java -> Installed JREs. Bearbeiten Sie das vorhandene und wählen Sie ein Verzeichnis mit einem Java 7 JDK.

+0

Project-Java Build Pfad-Bibliotheken-Bibliothek hinzufügen-JRE System Libray-Wählen Sie Java 7 und löschen Sie Java 8. Dies kann projektspezifische Einstellungen ändern, wenn Sie Eclipse nicht ändern möchten die Einstellungen. – oscarthecat

Verwandte Themen