Я использую PHP-файл из кода Java, как
Class JavaPhpTest{
public void method1(){
Process p = Runtime.getRuntime().exec("/usr/local/php/bin/php " + "test.php")
}
}
я включен test.php
(файл находится в /src/main/resources
) файл в pom.xml
в качестве ресурса этого Java-проекта и после создания test.php
есть в банке
Теперь, когда кто-то использует JavaPhpTest-jar
как зависимость в их pom.xml
и позвонить method1()
лайк
class javaCall{
public void testing(){
new JavaPhpTest().method1();
}
Проблема в том, что сейчас, когда я звоню testing()
Дает ошибку, что test.php
не найден.
я вижу это JavaPhpTest-jar
находится в classpath javaCall, но нет php.
Кто-нибудь может дать предложение, как мы можем решить эту проблему зависимости?
Должен ли я создать проект POM для PHP, а также включить это? если так, может кто-то предоставить мне рабочую ссылку, чтобы сделать это.
Если вы хотите выполнить test.php
Вы должны прочитать содержимое файла из Jar и сохранить как обычный файл, во временную папку. Здесь вы найдете примеры: getResourceAsStream () не видит ресурс
Тогда позвони Runtime.getRuntime().exec(..)
с путем к файлу во временной папке
Я видел ваше решение, оно может быть упрощено:
InputStream phpStream = JavaPhpTest.class.getResourceAsStream("/test.php");
java.nio.file.Files.copy(phpStream, Paths.get("test.php"));
Других решений пока нет …