java — вызов методов в jar-файле из переполнения стека

Я запускаю 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» и получить окончательный результат. Какие-либо предложения?

0

Решение

Вы можете только позвонить 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 массив.

1

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

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

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