从eclipse插件运行exe文件

时间:2012-02-13 14:48:52

标签: eclipse plugins

在我正在开发的eclipse插件中,我需要从插件中执行exe文件。 为此,我使用的是java代码:

p = Runtime.getRuntime().exec(command);

p处理的位置。这很好用。

然而,当部署插件时(已经在我的开发环境中使用“run eclipse应用程序”),插件正在我的eclipse所在的文件夹中寻找exe文件(在eclipse附近) .exe文件)。我不想把我的exe放在那里。

我希望eclipse将它放在插件jar中(或者在其他可以找到这些资源文件的文件夹中),并且exec命令会在那里找到它。轻微添加:要运行,我的exe文件需要一个dll,我放在与exe相同的目录中。所以当它从插件运行时,exe需要能够找到这个dll。

我该怎么做?

1 个答案:

答案 0 :(得分:2)

您必须在exec命令中指定exe的完整路径。要获得包中exe的完整路径,请使用

URL url = FileLocator.resolve(FileLocator.find(Platform.getBundle("my.bundle.id"), new Path("path/within/my/bundle.exe"), Collections.EMPTY_MAP));

这当然只有在您的软件包未部署为jar文件而是作为文件夹时才有效。如果要将bundle部署为jar文件,则必须在执行之前解压缩exe。