我目前正在尝试将Swing应用程序集成为Eclipse插件。 我在我的工作区中有两个独立的项目: - 我的应用程序 - MyPlugin
要启动我的应用程序,我只需要调用com。[...]。Desktop.instance();来自MyApplication中的Desktop.java,当我点击按钮时。 我只是希望它首先发布,所以它非常基本。
这是我的代码:
public void run(IAction action) {
com.[...].Desktop.instance();
}
这是我得到的错误:
!ENTRY org.eclipse.ui 4 0 2017-03-21 12:33:18.862
!MESSAGE Unhandled event loop exception
!STACK 0
java.lang.NoClassDefFoundError: com/.../Desktop
at boutton_test.actions.SampleAction.run(SampleAction.java:44)
...
在我的插件项目“properties” - > “Java构建路径” - > “项目”MyApplication很好地添加了,所以我真的不明白为什么会出现这样的错误。
我也试过这样的事情:
try {
Process MyApplication = Runtime.getRuntime().exec("javac Desktop.java");
MyApplication.waitFor();
} catch (IOException | InterruptedException e1) {
e1.printStackTrace();
}
但是当我点击按钮时没有任何反应,我在日志中什么都没得到。 有什么想法吗?
答案 0 :(得分:0)
所以我找到的解决方案是使用MyApplication中的.jar从现有的JAR Archives创建一个名为MyApplicationplug的新插件。
然后在MyPlugin中将其添加到依赖项,Manifest.MF - >依赖关系 - >添加... - > MyApplicationplug
不知怎的,它与JVM没有冲突。