导出的 eclipse-plugin 无法执行 python 脚本



我希望有人能帮助我了解如何解决我的问题:

导出的 eclipse-plugin 有错误的路径指向 python.exe 和所谓的 python 脚本 (test.py)。因此,当插件正常调用脚本时,它会抛出错误。

有没有办法将 python 和相应的 python 文件与.jar一起编译,或者有没有另一种方法可以正确执行此操作?

我创建了一个 eclipse-plugin,它通过 ProcessBuilder-class 调用 python 脚本。python脚本导入lxml并执行两个xml文件的几个合并步骤。当我以"Eclipse 应用程序"启动插件时,脚本被执行并且一切正常。当我将插件导出为.jar文件时,我无法调用 python 脚本,因为它将路径附加到 python.exe并在.jar文件(例如"plugin.jar/test.py)test.py。

// Init the processBuilder
ProcessBuilder procBuilder = new ProcessBuilder(
absolute/path/to/venv/Scripts/python.exe", // Possible workaround: "python",
absolute/path/to/test.py, 
arg1, arg2);

绝对路径的意思是这样的:"C:/Users/user/path/to/project/venv/Scripts/python.exe"(这是一个通过"virtualenv venv"创建的虚拟环境)

如上所述,发生以下错误: 1) 当插件应该调用 test.py 时,找不到"C:/Users/user/eclipse/plugins/plugin.jar_100/src/utils/test.py" 2) java.io.IOExeption:无法运行程序"C:\absolute\path\eclipse\plugins\plugin_133.jar\venv\Scripts\python.exe":CreateProcess error=2,系统找不到指定的文件。

导出的插件通常将所有内容打包到一个罐子中。jar 中的对象不是文件,您无法使用需要文件的 ProcessBuilder 等内容访问它们。

您可以包括

Eclipse-BundleShape: dir

在清单中。插件的 MF,用于将插件构建为目录而不是 jar。然后,内容将是普通文件。

如果插件包含在"功能"中,则"安装后解压缩插件存档"选项将覆盖 manifest.mf 设置。

最新更新