【发布时间】:2016-04-29 00:02:11
【问题描述】:
我的 Eclipse 工作区中有一个插件项目。当我右键单击该项目并单击“作为 Eclipse 应用程序运行”时,会打开另一个 Eclipse 实例并成功安装插件。单击插件按钮时,应用程序将打开。
但是,当我导出项目时,创建 jar 并将 jar 放在 plugins 文件夹下,我可以看到插件按钮,但是当我单击它时,应用程序没有打开。
下面,我展示了正在执行的java类:
Bundle bundle = Platform.getBundle("com.example.eclipse.plugin");
URL url = FileLocator.find(bundle, new Path("webspy/lib/abc.jar"), null);
File file=null;
try {
url = FileLocator.toFileURL(url);
file = URIUtil.toFile(URIUtil.toURI(url));
String[] str={"java", "-jar", file.getAbsolutePath()};
ProcessBuilder pb = new ProcessBuilder(str);
Process p = pb.start();
} catch (URISyntaxException e1) {
e1.printStackTrace();
} catch (IOException e1) {
e1.printStackTrace();
}
plugin.xml 文件如下:
<?xml version="1.0" encoding="UTF-8"?>
<?eclipse version="3.4"?>
<plugin>
<extension
point="org.eclipse.ui.actionSets">
<actionSet
label="Sample Action Set"
visible="true"
id="com.example.eclipse.plugin.actionSet">
<menu
label="FEAT"
id="sampleMenu">
<separator
name="StartWebSpy">
</separator>
</menu>
<action
label="&Start WebSpy"
icon="icons/sample.gif"
class="com.example.eclipse.plugin.actions.SampleAction"
tooltip="Start WebSpy"
menubarPath="sampleMenu/sampleGroup"
toolbarPath="sampleGroup"
id="com.example.eclipse.plugin.actions.SampleAction">
</action>
</actionSet>
</extension>
</plugin>
单击按钮后,它必须运行一个可执行的 jar。当插件 jar 放在插件文件夹中时,不会发生这种情况。请帮助我错过了什么。
【问题讨论】:
-
检查 .log 文件是否有错误。使用 -consoleLog 选项运行 Eclipse,这样您就可以真正看到那些“printStackTrace”消息。添加一些日志记录,甚至只是简单的 System.out.println 消息,以查看您的代码取得了多远。
-
嗨 Greg,我添加了日志并使用 -consoleLog 选项启动了 eclipse。我没有看到任何错误。在 pb.start() 之后添加了 syso,无论我在 syso 打印中添加了什么。
标签: java eclipse jar cmd eclipse-plugin