StrutsManager troubles
Hello, again. I'm sorry for one more troubling you.
I have problem with using Struts Assistant api.
I'm trying to get StrutsConfig object, using such code:
StrutsConfig strutsConfig = StrutsManagerImpl.getInstance().getStrutsConfig(strtusConfigPsiFile);
where strtusConfigPsiFile - is PsiFile "struts-config.xml"
But, when running my action, I get such strange exception and I can't understand how to fix this problem.
Thank you.
Error during dispatching of java.awt.event.MouseEvent[MOUSE_RELEASED,(556,58),absolute(552,54),button=1,modifiers=Button1,clickCount=1] on frame0: com.intellij.struts.psi.StrutsManagerImpl cannot be cast to com.intellij.struts.StrutsManager
java.lang.ClassCastException: com.intellij.struts.psi.StrutsManagerImpl cannot be cast to com.intellij.struts.StrutsManager
+ at com.intellij.struts.StrutsManager.getInstance(StrutsManager.java:44)+
+ at ru.plugins.test.RunTestAcceleratorAction.actionPerformed(RunTestAcceleratorAction.java:71)+
+ at com.intellij.openapi.actionSystem.impl.ActionButton.a(ActionButton.java:23)+
+ at com.intellij.openapi.actionSystem.impl.ActionButton.a(ActionButton.java:59)+
+ at com.intellij.openapi.actionSystem.impl.ActionButton.processMouseEvent(ActionButton.java:101)+
+ at java.awt.Component.processEvent(Component.java:5806)+
+ at java.awt.Container.processEvent(Container.java:2058)+
+ at java.awt.Component.dispatchEventImpl(Component.java:4413)+
+ at java.awt.Container.dispatchEventImpl(Container.java:2116)+
+ at java.awt.Component.dispatchEvent(Component.java:4243)+
+ at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)+
+ at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)+
+ at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)+
+ at java.awt.Container.dispatchEventImpl(Container.java:2102)+
+ at java.awt.Window.dispatchEventImpl(Window.java:2440)+
+ at java.awt.Component.dispatchEvent(Component.java:4243)+
+ at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)+
+ at com.intellij.ide.IdeEventQueue.c(IdeEventQueue.java:131)+
+ at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:18)+
+ at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:136)+
+ at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)+
+ at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)+
+ at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)+
+ at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)+
+ at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)+
+ at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)+
Please sign in to leave a comment.
Hello Andremoniy,
You have two copies of the Struts plugin: one in the output directory of
your plugin and another in the IDEA installation. Don't add the Struts plugin
libraries as a dependency for your plugin: add them to your IntelliJ IDEA
SDK instead.
--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"
Dmitry, thank you for reply.
If I remove struts-libs from plugin libraries and add them into IDEA SDK - then after starting IDEA and running Plugin Action, I get such error:
Error during dispatching of java.awt.event.MouseEvent[MOUSE_RELEASED,(548,51),absolute(544,47),button=1,modifiers=Button1,clickCount=1] on frame0: com/intellij/struts/psi/StrutsManagerImpl
java.lang.NoClassDefFoundError: com/intellij/struts/psi/StrutsManagerImpl
+ at ru.plugins.test.RunTestAcceleratorAction.actionPerformed(RunTestingAcceleratorAction.java:71)+
+ at com.intellij.openapi.actionSystem.impl.ActionButton.a(ActionButton.java:23)+
+ at com.intellij.openapi.actionSystem.impl.ActionButton.a(ActionButton.java:59)+
+ at com.intellij.openapi.actionSystem.impl.ActionButton.processMouseEvent(ActionButton.java:101)+
+ at java.awt.Component.processEvent(Component.java:5806)+
+ at java.awt.Container.processEvent(Container.java:2058)+
+ at java.awt.Component.dispatchEventImpl(Component.java:4413)+
+ at java.awt.Container.dispatchEventImpl(Container.java:2116)+
+ at java.awt.Component.dispatchEvent(Component.java:4243)+
+ at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)+
+ at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)+
+ at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)+
+ at java.awt.Container.dispatchEventImpl(Container.java:2102)+
+ at java.awt.Window.dispatchEventImpl(Window.java:2440)+
+ at java.awt.Component.dispatchEvent(Component.java:4243)+
+ at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)+
+ at com.intellij.ide.IdeEventQueue.c(IdeEventQueue.java:131)+
+ at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:18)+
+ at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:136)+
+ at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)+
+ at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)+
+ at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)+
+ at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)+
+ at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)+
+ at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)+
Caused by: java.lang.ClassNotFoundException: com.intellij.struts.psi.StrutsManagerImpl
+ at com.intellij.util.lang.UrlClassLoader.loadClass(UrlClassLoader.java:82)+
+ at java.lang.ClassLoader.loadClass(ClassLoader.java:251)+
+ at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)+
+ ... 25 more+
or, if I change calling of StrutsManager.getInstance() instead of StrtutsManagerImpl.getInstance(), then I get:
Error during dispatching of java.awt.event.MouseEvent[MOUSE_RELEASED,(561,53),absolute(557,49),button=1,modifiers=Button1,clickCount=1] on frame0: com/intellij/struts/StrutsManager
java.lang.NoClassDefFoundError: com/intellij/struts/StrutsManager
+ at ru.plugins.test.RunTestAcceleratorAction.actionPerformed(RunTestingAcceleratorAction.java:72)+
+ at com.intellij.openapi.actionSystem.impl.ActionButton.a(ActionButton.java:23)+
+ at com.intellij.openapi.actionSystem.impl.ActionButton.a(ActionButton.java:59)+
+ at com.intellij.openapi.actionSystem.impl.ActionButton.processMouseEvent(ActionButton.java:101)+
+ at java.awt.Component.processEvent(Component.java:5806)+
+ at java.awt.Container.processEvent(Container.java:2058)+
+ at java.awt.Component.dispatchEventImpl(Component.java:4413)+
+ at java.awt.Container.dispatchEventImpl(Container.java:2116)+
+ at java.awt.Component.dispatchEvent(Component.java:4243)+
+ at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)+
+ at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)+
+ at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)+
+ at java.awt.Container.dispatchEventImpl(Container.java:2102)+
+ at java.awt.Window.dispatchEventImpl(Window.java:2440)+
+ at java.awt.Component.dispatchEvent(Component.java:4243)+
+ at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)+
+ at com.intellij.ide.IdeEventQueue.c(IdeEventQueue.java:131)+
+ at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:18)+
+ at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:136)+
+ at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)+
+ at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)+
+ at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)+
+ at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)+
+ at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)+
+ at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)+
Caused by: java.lang.ClassNotFoundException: com.intellij.struts.StrutsManager
+ at com.intellij.util.lang.UrlClassLoader.loadClass(UrlClassLoader.java:82)+
+ at java.lang.ClassLoader.loadClass(ClassLoader.java:251)+
+ at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)+
+ ... 25 more+
java.lang.ClassNotFoundException: com.intellij.struts.StrutsManager
+ at com.intellij.util.lang.UrlClassLoader.loadClass(UrlClassLoader.java:82)+
+ at java.lang.ClassLoader.loadClass(ClassLoader.java:251)+
+ at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)+
+ at ru.plugins.test.RunTestAcceleratorAction.actionPerformed(RunTestingAcceleratorAction.java:72)+
+ at com.intellij.openapi.actionSystem.impl.ActionButton.a(ActionButton.java:23)+
+ at com.intellij.openapi.actionSystem.impl.ActionButton.a(ActionButton.java:59)+
+ at com.intellij.openapi.actionSystem.impl.ActionButton.processMouseEvent(ActionButton.java:101)+
+ at java.awt.Component.processEvent(Component.java:5806)+
+ at java.awt.Container.processEvent(Container.java:2058)+
+ at java.awt.Component.dispatchEventImpl(Component.java:4413)+
+ at java.awt.Container.dispatchEventImpl(Container.java:2116)+
+ at java.awt.Component.dispatchEvent(Component.java:4243)+
+ at java.awt.LightweightDispatcher.retargetMouseEvent(Container.java:4322)+
+ at java.awt.LightweightDispatcher.processMouseEvent(Container.java:3986)+
+ at java.awt.LightweightDispatcher.dispatchEvent(Container.java:3916)+
+ at java.awt.Container.dispatchEventImpl(Container.java:2102)+
+ at java.awt.Window.dispatchEventImpl(Window.java:2440)+
+ at java.awt.Component.dispatchEvent(Component.java:4243)+
+ at java.awt.EventQueue.dispatchEvent(EventQueue.java:599)+
+ at com.intellij.ide.IdeEventQueue.c(IdeEventQueue.java:131)+
+ at com.intellij.ide.IdeEventQueue.b(IdeEventQueue.java:18)+
+ at com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:136)+
+ at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)+
+ at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)+
+ at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)+
+ at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)+
+ at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)+
+ at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)+
Hello Andremoniy,
You also need to add the ]]> tag in plugin.xml to specify that your
plugin depends on Struts Assistant.
--
Dmitry Jemerov
Development Lead
JetBrains, Inc.
http://www.jetbrains.com/
"Develop with Pleasure!"
Ok. I found solution:
<depends>StrutsAssistant</depends> - must be added to plugin.xml.