【发布时间】:2014-04-17 18:12:19
【问题描述】:
我已经开发了一个向导,我想在 eclipse 之外作为一个独立的应用程序启动它(就像点击图标 /jar 需要启动向导)。
如何将其制成可执行的 jar。我有一个调用向导对话框的主类,但是当我执行 jar 时,向导没有启动。
如何确保在启动应用程序之前加载了 Equinox 运行时?有什么帮助吗?
【问题讨论】:
标签: eclipse eclipse-plugin swt rcp pde
我已经开发了一个向导,我想在 eclipse 之外作为一个独立的应用程序启动它(就像点击图标 /jar 需要启动向导)。
如何将其制成可执行的 jar。我有一个调用向导对话框的主类,但是当我执行 jar 时,向导没有启动。
如何确保在启动应用程序之前加载了 Equinox 运行时?有什么帮助吗?
【问题讨论】:
标签: eclipse eclipse-plugin swt rcp pde
如果您想在 Eclipse 之外运行您的插件,那么您必须创建 Eclipse RCP 产品,然后您可以导出该产品并作为应用程序运行。
在这里查看一些示例
http://obscuredclarity.blogspot.in/2008/11/hello-world-with-eclipse-rcp-your-first.html
【讨论】:
创建 RCP 是一种解决方案,但您也可以根据需要将插件导出为可运行的 JAR 文件:
right click -> Export... -> Java -> Runnable JAR file
我总是使用“库处理”的第一个选项,即“将所需的库提取到 gen JAR”,其他选项也应该可以正常工作。
显然你需要在某处实现 main 方法。
如果执行 jar 文件不执行任何操作,您可以尝试通过从命令行运行来调试它:
java -jar <your jar>
编辑: 这是我的主要方法,它通过从导出的 jar 文件运行来工作
public static void main(String[] args) {
Display display = new Display();
Shell shell = new Shell(display);
shell.setSize(0, 0);
shell.setVisible(false);
shell.open();
WizardDialog dialog = new WizardDialog(shell, new __YOUR_WIZARD());
dialog.open();
shell.dispose();
display.dispose();
}
【讨论】:
非常感谢您提供宝贵的 cmets。我找到了解决方案。 请创建 Java 项目并将以下 12 个插件 jar 添加为引用库
org.eclipse.osgi, org.eclipse.core.commands, org.eclipse.equinox.common, org.eclipse.equinox.registry, org.eclipse.core.runtime, org.eclipse.text, org.eclipse.swt.win32.win32.x86_64, org.eclipse.jface,eclipse.jface.text, org.eclipe.ui.workbench, com.ibm.icu_50.1.1, org.eclipse.ui.forms
这适用于任何需要在没有任何 RCP 产品的情况下直接启动的 SWT 应用程序。这也可以通过“Windows Builder”工具完成,其中在创建 SWT/JFACE Java 项目时会自动添加依赖项
【讨论】: