我正在从php函数运行一个jar文件。
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 :(得分:1)
您只能从主类调用main
方法。来自java手册:
-jar filename
执行封装在JAR文件中的程序。文件名 argument是包含a的清单的JAR文件的名称 main-Class形式的行:用于定义类的classname 用作的public static void main(String [] args)方法 你的申请的起点。
因此,要使其工作,您必须在jar中设置清单并编写主类来调用所需的函数。完成后,将任何参数附加到exec
调用,它应该有效。
您必须在jar的“META-INF”文件夹中创建一个清单文件“MANIFEST.MF”,其中包含以下内容:
清单 - 版本:1.0
Main-Class:This.Is.Your.Package.hel
你可以像这样向exec添加参数:
exec("java -jar hel.jar first_argument second_argument", $outputArray);
如果您的参数需要空格,请添加引号。您的参数将显示在String[] args
数组中。