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?
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
Invalidate Cache/Neustart hat nicht funktioniert. – andrew
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