Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在eclipse中将插件项目制作成可执行jar_Eclipse_Eclipse Plugin_Swt_Rcp_Pde - Fatal编程技术网

在eclipse中将插件项目制作成可执行jar

在eclipse中将插件项目制作成可执行jar,eclipse,eclipse-plugin,swt,rcp,pde,Eclipse,Eclipse Plugin,Swt,Rcp,Pde,我已经开发了一个向导,我想在eclipse之外作为一个独立的应用程序启动它(比如单击图标/jar,需要启动向导) 如何将其制作成可执行的jar。我有一个调用向导对话框的主类,但是当我执行jar时,向导没有启动 如何确保在启动应用程序之前加载equinox运行时?有什么帮助吗?如果您想在eclipse之外运行插件,那么您必须创建eclipse RCP产品,然后您可以导出该产品并作为应用程序运行 这里有一些例子 创建RCP是一个解决方案,但根据需要,您也可以将插件导出为可运行的JAR文件: r

我已经开发了一个向导,我想在eclipse之外作为一个独立的应用程序启动它(比如单击图标/jar,需要启动向导)

如何将其制作成可执行的jar。我有一个调用向导对话框的主类,但是当我执行jar时,向导没有启动


如何确保在启动应用程序之前加载equinox运行时?有什么帮助吗?

如果您想在eclipse之外运行插件,那么您必须创建eclipse RCP产品,然后您可以导出该产品并作为应用程序运行

这里有一些例子


创建RCP是一个解决方案,但根据需要,您也可以将插件导出为可运行的JAR文件:

right click -> Export... -> Java -> Runnable JAR file
我总是使用“库处理”的第一个选项,即“将所需库提取到gen JAR”,其他选项也应该可以正常工作

显然,您需要在某个地方实现main方法

然后,如果执行jar文件不执行任何操作,您可以尝试通过从命令行运行来调试它:

java -jar <your jar>

非常感谢您的宝贵意见。我找到了解决办法。 请创建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项目时,会自动添加依赖项。Eclipse插件几乎总是直接或间接地依赖于许多核心Eclipse插件。这些核心插件必须正确初始化,使用此方法不会发生这种情况。这个初始化是EclipseRCP系统的一个重要部分。。。无论如何,此解决方案是可行的,并且在某些情况下,根据您需要的Eclipse依赖关系,它是可以接受的。如果相关应用程序的目标只是打开一个向导对话框,然后执行一些事情并完成我肯定认为RCP就像用大炮杀死苍蝇…谢谢你的回复。目的是让向导在SWT Jface上运行,从而作为插件项目并通过主类调用。是否可以将其创建为RCP,但当我启动时,只应显示向导?IMHO,根据我们掌握的信息,RCP对您的需求毫无用处。。。您可以尝试在EDIT中添加一段代码(替换为您的向导类),并在从Eclipse运行main时检查向导是否打开良好。然后,如果是,则尝试导出解决方案和java-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();
}