gpt4 book ai didi

Java Spring Boot 无法在资源文件夹中找到 Python 脚本

转载 作者:行者123 更新时间:2023-12-02 10:08:33 25 4
gpt4 key购买 nike

我正在尝试从我的 Java 类调用 python 脚本(在资源中)。这是我的代码 spinnet

        String res = "/Scripts/Brokers/__init__.py";

URL pathUrl = this.getClass().getResource(res);
String path = "";
if(pathUrl != null)
path = pathUrl.toString();

ProcessBuilder pb = new ProcessBuilder("/usr/bin/python3.6", path);

ProcessBuilder 给出错误没有这样的文件或目录

附注

value of path = "file:/home/path-to-project/project-name/out/production/resources/Scripts/Brokers/\__init__.py"

还有如何在 jar 文件中包含 python 脚本以在 Linux 服务器上运行项目。

自过去三天以来,我一直被这个问题困扰。请提出建议。

最佳答案

来自java文档:

https://docs.oracle.com/javase/7/docs/api/java/lang/ProcessBuilder.html

Starting a new process which uses the default working directory and environment is easy:

 Process p = new ProcessBuilder("myCommand", "myArg").start();

所以基本上,您将 fork 一个子进程,该子进程将

  • 启动Python解释器
  • 使用您作为参数提供的 python 脚本。

脚本的路径应该是操作系统可以理解的正常路径,因此您不应该给出 URI?就像路径( protocol:address/path )。

if (path.contains(":"))
path = (path.split(":"))[1];

还有反斜杠\之前__init__.py看起来很可疑。

您应该能够运行 ls /home/path-to-project/project-name/out/production/resources/Scripts/Brokers/__init__.py并查看文件,ls /usr/bin/python3.6也是如此.

关于Java Spring Boot 无法在资源文件夹中找到 Python 脚本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55156483/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com