我希望有人能帮助我理解如何解决我的问题:
导出的eclipse有错误的python.exe路径和称为python (test.py)。因此,当插件正常调用脚本时,它会抛出错误。
是否有一种方法可以将python和相应的python文件与.jar一起编译,或者是否有其他方法可以正确地做到这一点?
我创建了一个eclipse插件,它通过ProcessBuilder类调用python脚本。python脚本导入lxml并对两个xml文件执行几个合并步骤。当我以“”的形式启动插件时,脚本就会执行,一切都正常。当我将插件导出为.jar文件时,我无法调用python脚本,因为它将路径附加到python.exe和.jar文件中的test.py (例如“plugin.jar/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”创建的虚拟路径)
正如上面提到的,发生了以下错误: 1)当插件应该调用"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时,无法找到test.py,系统无法找到指定的文件。
发布于 2019-07-23 13:31:53
出口插件通常把所有的内容都装进一个罐子里.jar中的对象不是文件,您不能使用像ProcessBuilder这样的期望文件的东西来访问它们。
你可以包括
Eclipse-BundleShape: dir在插件的MANIFEST.MF中,将插件构建为目录而不是jar。然后,内容将是普通文件。
如果插件包含在“功能”中,那么“安装后解压插件存档”选项将覆盖manifest.mf设置。
https://stackoverflow.com/questions/57164671
复制相似问题