我正在开发一个应用程序桌面swing应用程序,它要求我通过代码进行重构。[我知道eclipse 已经提供了接口和特性,但我需要通过代码来实现。

我需要做的第一个重构阶段是移动选中的包[选择选项是通过复选框提供的,该复选框使用JDT的思想显示工作区中所有可用的包。我在这个位置使用了教程:http://www.vogella.de/articles/EclipseJDT/article.html ]

既然我已经选择了希望转移到另一个包的包,

我用了这段代码

代码语言:javascript复制233. for (IPackageFragment mypackage : packages) {

234. if ((mypackage.getKind() == IPackageFragmentRoot.K_SOURCE) && (searchifSelected(mypackage.getElementName())==true) ){

235. IJavaElement container = newModule.getPrimaryElement();

236. mypackage.move(container, null, null, true, null);

}

}searchifSelected(mypackage.getElementName())==true告诉我,如果我选择了要移动的特定包

newModule.getPrimaryElement(); = IJavaElement容器是包含所选包的容器新包

mypackage.move(容器,null,null,true,null);据我所读的,这个命令应该将"mypackage“移动到”容器“,作为”子“。

不过,我正面对这个问题:

代码语言:javascript复制 Java Model Exception: Java Model Status [Invalid destination: 'devFromSupplier [in src [in test]]']

at org.eclipse.jdt.internal.core.MultiOperation.processElements(MultiOperation.java:175)

at org.eclipse.jdt.internal.core.CopyResourceElementsOperation.processElements(CopyResourceElementsOperation.java:417)

at org.eclipse.jdt.internal.core.MultiOperation.executeOperation(MultiOperation.java:90)

at org.eclipse.jdt.internal.core.JavaModelOperation.run(JavaModelOperation.java:728)

at org.eclipse.core.internal.resources.Workspace.run(Workspace.java:1800)

at org.eclipse.jdt.internal.core.JavaModelOperation.runOperation(JavaModelOperation.java:793)

at org.eclipse.jdt.internal.core.JavaModel.runOperation(JavaModel.java:297)

at org.eclipse.jdt.internal.core.JavaModel.move(JavaModel.java:258)

at org.eclipse.jdt.internal.core.PackageFragment.move(PackageFragment.java:420)

at newmodulewizrd.ui.Integrate.printPackageInfos(Integrate.java:236)

at newmodulewizrd.ui.Integrate.printProjectInfo(Integrate.java:177)

at newmodulewizrd.ui.Integrate.getWorkSpace(Integrate.java:149)

at newmodulewizrd.ui.Integrate.moveToOneModule(Integrate.java:120)

at newmodulewizrd.ui.Integrate$1.actionPerformed(Integrate.java:79)

at javax.swing.AbstractButton.fireActionPerformed(Unknown Source)

at javax.swing.AbstractButton$Handler.actionPerformed(Unknown Source)

at javax.swing.DefaultButtonModel.fireActionPerformed(Unknown Source)

at javax.swing.DefaultButtonModel.setPressed(Unknown Source)

at javax.swing.plaf.basic.BasicButtonListener.mouseReleased(Unknown Source)

at java.awt.Component.processMouseEvent(Unknown Source)

at javax.swing.JComponent.processMouseEvent(Unknown Source)

at java.awt.Component.processEvent(Unknown Source)

at java.awt.Container.processEvent(Unknown Source)

at java.awt.Component.dispatchEventImpl(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.LightweightDispatcher.retargetMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.processMouseEvent(Unknown Source)

at java.awt.LightweightDispatcher.dispatchEvent(Unknown Source)

at java.awt.Container.dispatchEventImpl(Unknown Source)

at java.awt.Window.dispatchEventImpl(Unknown Source)

at java.awt.Component.dispatchEvent(Unknown Source)

at java.awt.EventQueue.dispatchEventImpl(Unknown Source)

at java.awt.EventQueue.access$000(Unknown Source)

at java.awt.EventQueue$1.run(Unknown Source)

at java.awt.EventQueue$1.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)

at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)

at java.awt.EventQueue$2.run(Unknown Source)

at java.awt.EventQueue$2.run(Unknown Source)

at java.security.AccessController.doPrivileged(Native Method)

at java.security.AccessControlContext$1.doIntersectionPrivilege(Unknown Source)

at java.awt.EventQueue.dispatchEvent(Unknown Source)

at java.awt.EventDispatchThread.pumpOneEventForFilters(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForFilter(Unknown Source)

at java.awt.EventDispatchThread.pumpEventsForHierarchy(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.pumpEvents(Unknown Source)

at java.awt.EventDispatchThread.run(Unknown Source)我认为这意味着我提出了错误的论点。

能帮上忙吗?我该怎么办?