Ich entwickle ein Plugin für AndroidStudio. Angenommen, mein Paketname ist com.name.app
IntellijIDEA - PluginClassLoader: ClassNotFoundException nach dem Verschieben der Klasse in ein anderes Paket
ich eine Klasse ApiHelper
haben, die eine ResponseHandler
-Schnittstelle verfügt. Eine andere Klasse, ButtonActionHandler
(erweitert AnAction
) implementiert ResponseHandler
von ApiHelper
.
An diesem Punkt funktioniert alles gut. Aber wenn ich ApiHelper
zu com.name.app.helpers
Paket verschiebe, bekomme ich NoClassDefFoundError & PluginClassLoader - ClassNotFoundException.
Haben Sie eine Idee, warum dies passiert, nachdem Sie die Datei in ein anderes Paket verschoben haben?
Haben Sie sichergestellt, dass Ihre Klasse nicht auf ihren alten vollqualifizierten Namen in 'plugin.xml' verweist? –
Ich habe nur 'ApiHelper' nach' com.name.app.helper' verschoben. Es wird nicht von 'plugin.xml' referenziert. 'ButtonActionHandler' ist immer noch in' com.name.app' und seine Referenz in 'plugin.xml' ist korrekt. – AKT
Haben Sie einen sauberen Build versucht? Sind Sie sicher, dass 'ApiHelper' nicht von seiner alten FQN in einer Zeichenfolge oder einer XML-Datei referenziert wird? –