wake-up-neo.net

Eclipse: Das deklarierte Paket stimmt nicht mit dem erwarteten Paket überein

Ich habe ein Problem beim Importieren eines externen Projekts. Ich gehe Datei -> Importieren ... -> Vorhandene Projekte in Workspace, wähle den Ordner aus, in dem sich das Projekt befindet, und alles wird importiert - aber die Paketnamen des Projekts scheinen nicht das zu sein, was Eclipse erwartet. Alle Paketnamen haben ein Präfix:

prefix.packagename1
prefix.packagename2

usw.

Aber Eclipse erwartet

src.prefix1.prefix.packagename1
src.prefix1.prefix.packagename2

usw., weil das Verzeichnis src/prefix1/prefix/package1 ist

Ich möchte nicht wirklich mit externem Code herumspielen. Wie kann ich Eclipse mitteilen, das Verzeichnis "src/prefix1" zu ignorieren? Oder was kann ich noch tun?

76
HenryNguyen

Gehen Sie einfach in den Erstellungspfad und ändern Sie den Quellpfad in src/prefix1 anstelle von src.

Am einfachsten klicken Sie mit der rechten Maustaste auf das Verzeichnis src und wählen Sie "Erstellungspfad/Vom Erstellungspfad entfernen". Suchen Sie dann das Verzeichnis src/prefix1, klicken Sie mit der rechten Maustaste darauf und wählen Sie "Erstellungspfad/Als Quellordner verwenden".

90
Jon Skeet

Ich bin gerade auf dieses Problem gestoßen, und da die Lösung von Herrn Skeet für mich nicht funktioniert hat, werde ich mitteilen, wie ich dieses Problem gelöst habe.

Es stellt sich heraus, dass ich die Java-Datei unter 'src' geöffnet habe, bevor ich sie als Quellverzeichnis deklarierte.

Klicken Sie mit der rechten Maustaste auf das Verzeichnis 'src' in Eclipse, wählen Sie 'build path' und dann 'Use as Source Folder' aus.

Schließen und erneut öffnen die bereits geöffnete Java-Datei (F5-Aktualisierung funktionierte nicht).

Der Pfad zur Java-Datei ab "prefix1" steht in einer Zeile mit dem Paket in der Datei (Beispiel aus der Frage des Requesters prefix1.prefix.packagename2). Das sollte funktionieren

Eclipse sollte sich nicht mehr über 'src' beschweren.

57
Kyle Shanafelt

Verschieben Sie Ihre problematischen * .Java-Dateien in einen anderen Ordner.

Klicken Sie auf "src" und drücken Sie "F5".

Rote Kreuze werden sich zerstreuen.

Geben Sie Ihre * .Java-Dateien an "package path" zurück, klicken Sie auf "src" und drücken Sie "F5".

Alles sollte in Ordnung sein.

10
Vlad

Wenn Sie ein vorhandenes Projekt importiert haben, entfernen Sie einfach Ihre Quellordner und fügen Sie sie erneut zum Erstellungspfad hinzu, und starten Sie Eclipse erneut. In den meisten Fällen zeigt Eclipse den Fehler bis zum Neustart an.

2
Parveen Yadav

Geschieht für mich, nachdem fehlgeschlagene Builds außerhalb der IDE ausgeführt wurden. Wenn das Bereinigen Ihres Arbeitsbereichs nicht funktioniert, versuchen Sie Folgendes: 1) Alle Projekte löschen 2) STS/Eclipse schließen und erneut starten, 3) Projekte erneut importieren

1
Bradley D

Wechseln Sie in den SRC-Ordner des Projekts, kopieren Sie den gesamten Code an einen temporären Speicherort und erstellen Sie das Projekt. Kopieren Sie nun den tatsächlichen Code aus dem temporären Speicherort in Project src. Führen Sie den Build erneut aus. Problem wird gelöst.

Hinweis: Dies ist spezifisch für Eclipse.

0
Deepak Gupta

Ich hatte gerade jetzt das gleiche Problem. Die ersten Antworten funktionieren jedoch nicht für mich. Ich schlage eine Lösung vor: Ändern Sie die Datei .classpath . Beispiel: Sie können den Pfad des classpathentry-Knotens folgendermaßen definieren: path = "src/prefix1/Java " oder path =" src/prefix1/resources ". Hoffe, es kann helfen.

0
Jack

Angenommen, Ihr Projekt hat ein Paket wie package name1.name2.name3.name4 (deklariertes Paket)

Ihr Paket-Explorer zeigt
Paket der obersten Ebene namens name1.name2
Unterpakete namens name3.name4

Sie erhalten Fehler, da Eclipse den Paketnamen aus der Dateiverzeichnisstruktur auf der Festplatte ab dem Punkt extrahiert, von dem aus Sie importieren.

Mein Fall war etwas komplizierter, vielleicht weil ich einen symbolischen Link zu einem Ordner außerhalb meines Arbeitsbereichs verwendet habe. 

Ich habe zuerst Build Path.Java Build Path.Source Tab.Link Source Button ausprobiert. Durchsuchen Sie den Ordner vor name1 in Ihrem Paket. Ordnername, wie Sie möchten (ich denke). Hatte aber probleme.

Dann entfernte ich den Ordner aus dem Erstellungspfad und versuchte "Datei"> "Importieren"> "Allgemein"> "Dateisystem". Klicken Sie auf "Weiter"> "Verzeichnis"> "Durchsuchen" "" Taste.

0
darKoram

Dieses Problem tritt in Eclipse manchmal auf, wenn ein Android-Projekt importiert wird, das keine .classpath-Datei hat. Der von Eclipse erstellte ist nicht genau derselbe, den Android erwartet. Die Android-.classpath-Dateien sind jedoch normalerweise alle relativ. Daher kopiere ich einfach eine korrekte .classpath-Datei aus einem anderen Projekt über den falschen .classpath. Ich habe ein Video erstellt, das zeigt, wie ich das mache: https://www.youtube.com/watch?v=IVIhgeahS1Ynto

0
user3649912

Das einzige, was für mich funktioniert hat, ist, das Projekt zu löschen und es dann erneut zu importieren. Klappt wunderbar :)

0
Slim