Ich habe ein Eclipse-Plugin, dessen Java-Code in mehreren Projekten strukturiert ist. In einem der Projekte habe ich einen externen Krug hinzugefügt und einige Klassen daraus verwendet. Zur Kompilierungszeit wurden keine Fehler gemeldet, aber zur Laufzeit wurde eine NoClassDefFoundError
Ausnahme ausgelöst. Ich habe das Problem nach this Lösung behoben.Das Hinzufügen eines externen Jars zum Buildpfad "Order and Export" erzeugt einen Fehler im Projekt.
Danach starte ich eine Project -> Clean..
und plötzlich in einem anderen Projekt habe ich einen Fehler, der The method filter(Predicate<? super String[]>) in the type FluentIterable<String[]> is not applicable for the arguments ...
.
Ich verglich die FluentIterable
clasess in beiden Situationen und ihre Herkunft ändert sich nicht.
Warum passiert das?
Wie ist es möglich, den Code eines Eclipse-Plugins in mehrere Projekte aufzuteilen? Bitte geben Sie ein [Beispiel, um Ihr Problem zu reproduzieren] (https://stackoverflow.com/help/mcve)? Welche Eclipse-Version und welche Java-Version verwenden Sie? – howlger
@howlger Verwenden einer Maven-Struktur mit Abhängigkeiten zwischen ihnen. Ich habe das Problem gefunden. Das importierte Jar verwendete eine andere 'FluentIterable' Klasse von' Guava', ich sah den gleichen Ursprung für die Klasse, weil ich kein Clean ausgeführt habe, wenn ich den Klassenpfad zurück änderte. –
@howlger Was mir nicht klar ist, ist: Da ich den Build-Pfad nur für das Paket, das das externe Glas verwendet, warum wirkt es sich auf andere Pakete (in meinem Fall betrifft es ein anderes PROJEKT!) –