首页 文章

在Intellij / IDEA插件中以编程方式调用Ant目标

提问于
浏览
0

我正在尝试根据插件中的用户操作调用ant目标 . 这样做曾经工作:

AntConfiguration conf = AntConfiguration.getInstance(project);

我的 plugin.xml 包含条目:

<depends optional="false">AntSupport</depends>

如上所述here .

但是,使用当前版本的IntelliJ会抛出此异常:

java.lang.ClassCastException:com.intellij.lang.ant.config.impl.AntConfigurationImpl无法强制转换为com.intellij.lang.ant.config.AntConfiguration.getInstance中的com.intellij.lang.ant.config.AntConfiguration( AntConfiguration.java:38)at com.codename1.plugin.intellij.ant.AntRunner.getAntFile(AntRunner.java:133)at com.codename1.plugin.intellij.ant.AntRunner.runTarget(AntRunner.java:59)at com com.intellij.openapi.actionSystem.ex上的com.codename1.plugin.intellij.actions.SendAndroidBuild.actionPerformed(SendAndroidBuild.java:17)中的.codename1.plugin.intellij.actions.CodenameOneAction.runAntTarget(CodenameOneAction.java:61) .ActionUtil.performActionDumbAware(ActionUtil.java:191)在com.intellij.openapi.actionSystem.impl.ActionMenuItem $ ActionTransmitter $ 1.run(ActionMenuItem.java:311)在com.intellij.openapi.wm.impl.FocusManagerImpl.runOnOwnContext( FocusManagerImpl.java:958)com.intellij.op上的com.intellij.openapi.wm.impl.IdeFocusManagerImpl.runOnOwnContext(IdeFocusManagerImpl.java:124) enapi.actionSystem.impl.ActionMenuItem $ ActionTransmitter.actionPerformed(ActionMenuItem.java:281)在javax.swing.AbstractButton.fireActionPerformed(AbstractButton.java:2022)在com.intellij.openapi.actionSystem.impl.ActionMenuItem.fireActionPerformed(ActionMenuItem . java:109)at com.intellij.ui.plaf.beg.BegMenuItemUI.doClick(BegMenuItemUI.java:513)at com.intellij.ui.plaf.beg.BegMenuItemUI.access $ 300(BegMenuItemUI.java:45)at com . intellij.ui.plaf.beg.BegMenuItemUI $ MyMouseInputHandler.mouseReleased(BegMenuItemUI.java:533)在java.awt.Component.processMouseEvent(Component.java:6525)在javax.swing.JComponent.processMouseEvent(JComponent.java:3324)在java.awt.Component.processEvent(Component.java:6290)的java.awt.Container.processEvent(Container.java:2234)处于java.awt的java.awt.Component.dispatchEventImpl(Component.java:4881) . 位于java.awt.LightweightDispatcher.retargetMouseEvent的java.awt.Component.dispatchEvent(Component.java:4703)中的Container.dispatchEventImpl(Container.java:2292) tainer.java:4898)java.awt.LightweightDispatcher.processMouseEvent(Container.java:4533)at java.awt.LightweightDispatcher.dispatchEvent(Container.java:4462)at java.awt.Container.dispatchEventImpl(Container.java:2278) )java.awt.Window.dispatchEventImpl(Window.java:2750)at java.awt.Component.dispatchEvent(Component.java:4703)at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:758)at java.awt java.security.AccessController上的java.awt.EventQueue $ 3.run(EventQueue.java:703)java.awt.EventQueue $ 3.run(EventQueue.java:709)上的.EventQueue.access $ 500(EventQueue.java:97) .doPrivileged(本地方法)在java.security.ProtectionDomain $ 1.doIntersectionPrivilege(ProtectionDomain.java:75)在java.security.ProtectionDomain $ 1.doIntersectionPrivilege(ProtectionDomain.java:86)在java.awt.EventQueue中$ 4.run(EventQueue中 . java:731)at java.awt.EventQueue $ 4.run(EventQueue.java:729)at java.security.AccessController.doPrivileged(Native Method)at java.security.ProtectionDomain $ 1.doIntersectionPrivi罪(ProtectionDomain.java:75)在java.awt.EventQueue.dispatchEvent(EventQueue.java:728)在com.intellij.ide.IdeEventQueue.defaultDispatchEvent(IdeEventQueue.java:857)在com.intellij.ide.IdeEventQueue._dispatchEvent (IdeEventQueue.java:654)位于java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread)的java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)中的com.intellij.ide.IdeEventQueue.dispatchEvent(IdeEventQueue.java:386) . 的java:116)在java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)在java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)在java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)在java.awt.EventDispatchThread.run(EventDispatchThread.java:82)

这看起来像是一个错误,但我可能会以某种方式滥用API,因为据我所知,这并没有完全“记录” .

1 回答

  • 0

    好吧,想出这个 . 我忽略了将库依赖项设置为提供状态并使它们处于“已编译”状态 . 这有点隐藏在依赖窗口中:

    enter image description here

相关问题