gpt4 book ai didi

java - 在最终的 Jar 中包含 php 文件,以便方法可以调用 php 文件

转载 作者:行者123 更新时间:2023-11-30 07:23:25 24 4
gpt4 key购买 nike

我正在使用来自java代码的php文件,例如

Class JavaPhpTest{
public void method1(){
Process p = Runtime.getRuntime().exec("/usr/local/php/bin/php " + "test.php")
}
}

我在 pom.xml 中包含了 test.php (文件驻留在 /src/main/resources 中)文件作为该 java 的资源项目并在构建后 test.php 位于 Jar 中。

现在,当有人在其 pom.xml 中使用 JavaPhpTest-jar 作为依赖项并像

那样调用 method1()
class javaCall{
public void testing(){
new JavaPhpTest().method1();
}

问题是,现在当我调用 testing() 时,它会给出找不到 test.php 的错误。

我看到 JavaPhpTest-jar 在 javaCall 的类路径中,但没有 php.ini。有人可以建议我们如何解决这个依赖问题吗?

我是否也应该为 php 创建一个 pom 项目并包含它?如果是这样,有人可以给我提供工作链接来做到这一点。

最佳答案

如果你想执行test.php,你必须从Jar读取文件内容并保存为常规文件,在临时文件夹中。在这里您可以找到示例:getResourceAsStream() doesn't see resource

然后使用临时文件夹中的文件路径调用Runtime.getRuntime().exec(..)

更新

我看到了你的解决方案,它可能会被简化:

InputStream phpStream = JavaPhpTest.class.getResourceAsStream("/test.php");
java.nio.file.Files.copy(phpStream, Paths.get("test.php"));

关于java - 在最终的 Jar 中包含 php 文件,以便方法可以调用 php 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37162176/

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