如何启动嵌入在 Eclipse 插件中的可执行文件?

How to launch executable embedded within Eclipse plug-in?

我正在构建一个 Eclipse 插件,它必须解析可执行文件 (Linux) 的结果以向用户显示信息。可执行文件应该嵌入到插件中,而不是单独安装。

我首先制作了一个小原型,其中嵌入了一个伪造的可执行文件,然后在启动可执行文件之前,我将其提取到一个临时文件中,构建我的命令行,然后启动它。这对我来说没问题。

我刚刚收到真正的可执行文件,然后意识到它不是一个独立的可执行文件,而是一堆库、配置文件等。它还带有一个脚本来执行以设置环境变量。

我现在看到的唯一选择是将全部解压到一个临时目录,根据脚本设置环境变量,然后调用我的可执行文件。

我的解决方案有效吗?你有什么更好的方法吗?

不要将插件打包为 jar,而是使用一个目录,这样您就不必进行任何解包。

您使用

指定
Eclipse-BundleShape: dir

在插件中 MANIFEST.MF.

注意:如果您将插件打包到某个功能中,则此设置将被 feature.xml 文件中 plugin 元素的 unpack="true" 属性覆盖。