2017-02-27 5 views
0

AndroidStudio 용 플러그인을 개발 중입니다. 내 패키지 이름이 com.name.app이라고 가정합니다.IntellijIDEA - PluginClassLoader : 클래스를 다른 패키지로 이동 한 후 ClassNotFoundException이 발생했습니다.

나는 ResponseHandler 인터페이스를 가진 클래스 ApiHelper입니다. 또 다른 클래스 인 ButtonActionHandler (extend AnAction)은 에서 ResponseHandler을 구현합니다.

이 시점에서 모든 것이 잘 작동합니다. 하지만 ApiHelpercom.name.app.helpers 패키지로 이동하면 NoClassDefFoundError & PluginClassLoader - ClassNotFoundException이 발생합니다.

이동 파일을 다른 패키지로 이동 한 후 왜 이런 일이 발생하는지 알고 싶습니다.

+1

클래스가'plugin.xml'에서 이전의 정규화 된 이름으로 참조되지 않았는지 확인 했습니까? –

+0

'ApiHelper' 만'com.name.app.helper'로 옮겼습니다. 그것은'plugin.xml'에서 참조되지 않습니다. 'ButtonActionHandler'는 여전히'com.name.app' 안에 있고'plugin.xml' 안의 그 참조는 정확합니다. – AKT

+0

깨끗한 빌드를 시도해 보셨습니까? 'ApiHelper'가 이전 FQN에 의해 ​​문자열이나 XML 파일에서 참조되지 않는다고 확신합니까? –

답변

0

캐시를 무효화하고 다시 시작하십시오. 그것은 효과가 있었다.