DomFileDescription Question
I have a DomElement interface and a DomFileDescription. I've written plugins with the DOM classes before, but I'm at a loss when I received this error. Any help would be appreciated. I'm debugging the plugin in 9.0.4.
public interface Config extends DomElement {
}
public class ConfigurationDomFileDescription extends DomFileDescription<Config> {
public ConfigurationDomFileDescription() {
super(Config.class, "configuration");
}
@Override
protected void initializeFileDescription() {
}
}
java.lang.RuntimeException: java.lang.IllegalArgumentException: class Config$$EnhancerByCGLIB$$a658d383 is not an enhanced class
at net.sf.cglib.proxy.AdvancedProxy.createProxy(AdvancedProxy.java:146)
at net.sf.cglib.proxy.AdvancedProxy.createProxy(AdvancedProxy.java:93)
at net.sf.cglib.proxy.AdvancedProxy.createProxy(AdvancedProxy.java:79)
at com.intellij.util.xml.impl.DomInvocationHandler.<init>(DomInvocationHandler.java:124)
at com.intellij.util.xml.impl.DomRootInvocationHandler.<init>(DomRootInvocationHandler.java:35)
at com.intellij.util.xml.impl.DomFileElementImpl.<init>(DomFileElementImpl.java:132)
at com.intellij.util.xml.impl.FileDescriptionCachedValueProvider.a(FileDescriptionCachedValueProvider.java:116)
at com.intellij.util.xml.impl.FileDescriptionCachedValueProvider.getFileElement(FileDescriptionCachedValueProvider.java:75)
at com.intellij.util.xml.impl.DomManagerImpl.getFileElement(DomManagerImpl.java:414)
at com.intellij.util.xml.impl.DomManagerImpl.getDomFileDescription(DomManagerImpl.java:481)
at com.intellij.util.xml.impl.DomManagerImpl.getFileElement(DomManagerImpl.java:424)
at com.intellij.util.xml.impl.DomManagerImpl.getFileElement(DomManagerImpl.java:60)
at com.intellij.util.xml.highlighting.DomElementsInspection.checkFile(DomElementsInspection.java:118)
at com.intellij.codeInspection.LocalInspectionTool$1.visitFile(LocalInspectionTool.java:87)
at com.intellij.psi.impl.source.xml.XmlFileImpl.accept(XmlFileImpl.java:64)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass$1.process(LocalInspectionsPass.java:215)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass$1.process(LocalInspectionsPass.java:195)
at com.intellij.concurrency.JobUtil$2$1.run(JobUtil.java:94)
at com.intellij.openapi.progress.impl.ProgressManagerImpl$2.run(ProgressManagerImpl.java:198)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:223)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.runProcess(ProgressManagerImpl.java:189)
at com.intellij.concurrency.JobUtil$2.process(JobUtil.java:92)
at com.intellij.concurrency.JobUtil$1.run(JobUtil.java:59)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at com.intellij.concurrency.JobImpl.scheduleAndWaitForResults(JobImpl.java:77)
at com.intellij.concurrency.JobUtil.invokeConcurrentlyForAll(JobUtil.java:71)
at com.intellij.concurrency.JobUtil.invokeConcurrentlyUnderMyProgress(JobUtil.java:89)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.a(LocalInspectionsPass.java:195)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.b(LocalInspectionsPass.java:118)
at com.intellij.codeInsight.daemon.impl.LocalInspectionsPass.collectInformationWithProgress(LocalInspectionsPass.java:105)
at com.intellij.codeInsight.daemon.impl.ProgressableTextEditorHighlightingPass.doCollectInformation(ProgressableTextEditorHighlightingPass.java:52)
at com.intellij.codeHighlighting.TextEditorHighlightingPass.collectInformation(TextEditorHighlightingPass.java:54)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1$1.run(PassExecutorService.java:329)
at com.intellij.openapi.application.impl.ApplicationImpl.tryRunReadAction(ApplicationImpl.java:924)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass$1.run(PassExecutorService.java:321)
at com.intellij.openapi.progress.impl.ProgressManagerImpl.executeProcessUnderProgress(ProgressManagerImpl.java:223)
at com.intellij.codeInsight.daemon.impl.PassExecutorService$ScheduledPass.run(PassExecutorService.java:319)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:441)
at java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:303)
at java.util.concurrent.FutureTask.run(FutureTask.java:138)
at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
at java.lang.Thread.run(Thread.java:619)
请先登录再写评论。
Is this a complete stack trace or there is something more at the bottom, e.g. a cause for this exception? Without seeing it I can only suggest that some foggy classloader issue may be to blame.
Caused by: java.lang.IllegalArgumentException: class Config$$EnhancerByCGLIB$$3d7136ce is not an enhanced class
at net.sf.cglib.proxy.AdvancedEnhancer.a(AdvancedEnhancer.java:682)
at net.sf.cglib.proxy.AdvancedEnhancer.a(AdvancedEnhancer.java:673)
at net.sf.cglib.proxy.AdvancedEnhancer.a(AdvancedEnhancer.java:695)
at net.sf.cglib.proxy.AdvancedEnhancer.firstInstance(AdvancedEnhancer.java:602)
at net.sf.cglib.core.AbstractClassGenerator.create(AbstractClassGenerator.java:233)
at net.sf.cglib.proxy.AdvancedEnhancer.b(AdvancedEnhancer.java:388)
at net.sf.cglib.proxy.AdvancedEnhancer.create(AdvancedEnhancer.java:289)
at net.sf.cglib.proxy.AdvancedProxy.createProxy(AdvancedProxy.java:119)
... 44 more
Nevermind. After I posted the "cause", I read your reply again. It then hit me one of my project libraries had cglib in it. I removed the library (it was only for reference anyway) and debugged the application again. No exception was thrown.