2017-02-27 4 views
0

Ich ändere den Namen eines Pakets von oldName zu newName mit IntelliJ Refactor-Tool. Dieses Paket enthält eine Guice-Provider-Bindung. Nach dem Refactoring Ausnahme die Hauptklasse wirft eine Laufzeit:IntelliJ: Refactor-Paket verursacht Guice-Klasse nicht gefunden

Message: java.lang.ClassNotFoundException: project.oldName.missingClassProvider 

In meinem Beispiel habe ich oldName zu newName Refactoring. Aber die Ausnahme zeigt an, dass es immer noch nach missingClassProvider im oldName Paket sucht.

Es scheint, als ob der Klassenpfad aktualisiert wurde, da ich missingClassProvider importieren kann. Aber es scheint, als gäbe es einen Guice-Datencontainer, der nicht aktualisiert wird.

Kann jemand erklären, was dieses Verhalten verursacht? Wie bekomme ich Guice, um die Änderung des Paketnamens zu erkennen?

Antwort

1

Wahrscheinlich kein Guice-Problem. Guice speichert keine Namen irgendwo. Es ist eine Laufzeitbibliothek, die normalerweise konfiguriert wird, wenn die Anwendung über ein oder mehrere Module gestartet wird.

Meine Vermutung ist über eine beschädigte Build. Versuchen Sie, das Projekt zu säubern und neu zu erstellen. Wenn Sie eine Art Build-Tool (Maven, Gradle) verwenden, finden und führen Sie das saubere Ziel.

Wenn Sie nur IDEA verwenden, versuchen Sie, das gesamte Projekt unter Verwendung Erstellen> Projekt neu erstellen.

+0

Endlich hatte eine Chance, dies zu untersuchen. Alle Verweise auf den alten 'project.oldName' befinden sich in der Datei .idea/workspace.xml. Ich habe versucht, den Gradle-Clean-Task auszuführen. Ich habe auch versucht IDEA Build> Rebuild. Keine funktioniert. Ich werde versuchen, Cache/Neustart ungültig zu machen. – andrew

+0

Invalidate Cache/Neustart hat nicht funktioniert. – andrew

+0

Die meisten Verweise auf 'project.oldName' in workspace.xml scheinen mit dem lokalen Verlauf in Beziehung zu stehen. Ich habe auch bemerkt, dass der Text "project.oldName" an einer anderen Stelle erscheint: .digle/2.2/taskArtifacts/fileSnapshots.bin – andrew

Verwandte Themen