java — включите php-файл в окончательный Jar-файл, чтобы метод мог вызывать php-файл

Я использую 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, а также включить это? если так, может кто-то предоставить мне рабочую ссылку, чтобы сделать это.

1

Решение

Если вы хотите выполнить test.php Вы должны прочитать содержимое файла из Jar и сохранить как обычный файл, во временную папку. Здесь вы найдете примеры: getResourceAsStream () не видит ресурс

Тогда позвони Runtime.getRuntime().exec(..) с путем к файлу во временной папке

Обновить

Я видел ваше решение, оно может быть упрощено:

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

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]