Я запускаю JAR-файл из функции php.
exec("java -jar hel.jar", $outputArray);
Но я хочу вызвать конкретный метод в jar-файле и отправить параметры этим методам и получить окончательный результат.
Пример:-
public class hel {
public static void main(String[] args) {
hel he=new hel();
he.getName("john");
}
public String getName(String name){
System.out.println(name);
return name;
}
}
Я хочу отправить значение String в качестве параметра в метод «getName» и получить окончательный результат. Какие-либо предложения?
Вы можете только позвонить main
метод из основного класса. Из руководства по Java:
-имя файла
Выполняет программу, инкапсулированную в файл JAR. Имя файла
Аргумент — это имя файла JAR с манифестом, который содержит
строка в форме Main-Class: имя класса, которое определяет класс с
метод public static void main (String [] args), который служит
отправная точка вашего приложения.
Таким образом, чтобы это работало, вы должны настроить манифест в банке и написать свой основной класс для вызова нужной вам функции. Когда это будет сделано, добавьте любые аргументы к exec
позвони и все заработает.
Вам необходимо создать файл манифеста «MANIFEST.MF» в папке «META-INF» фляги со следующим содержимым:
Манифест-Версия: 1.0
Основной класс: This.Is.Your.Package.hel
и вы можете добавить аргументы в exec следующим образом:
exec("java -jar hel.jar first_argument second_argument", $outputArray);
добавьте кавычки, если ваши аргументы требуют пробелов. Ваши аргументы будут отображаться в String[] args
массив.
Других решений пока нет …