2017-02-27 1 views
0

Ich entwickle ein Plugin für AndroidStudio. Angenommen, mein Paketname ist com.name.appIntellijIDEA - 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?

+1

Haben Sie sichergestellt, dass Ihre Klasse nicht auf ihren alten vollqualifizierten Namen in 'plugin.xml' verweist? –

+0

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

+0

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? –

Antwort

0

Cache ungültig machen und neu starten. Es funktionierte.

Verwandte Themen