gpt4 book ai didi

java - 从脚本文件调用 jar 文件内的函数

转载 作者:行者123 更新时间:2023-11-30 07:31:04 24 4
gpt4 key购买 nike

我有一个名为 MyJar.jar 的 jar,其中包含 MyFinder.class 。该类包含一个名为 myFind() 的非静态函数。我想从 shell 脚本调用 myFind()。

我已经知道如何使用 jar 文件中的静态 main() 调用特定类:

java -jar MyJar.jar MyFinder.class

我需要一些像上面这样的命令来调用非静态函数

主要动机:

我有一个脚本文件,但只有一个 jar。在脚本中,我想根据特定时间进行函数调用。我可以在 jar 本身内部对其进行编码。但如果以后需求发生变化,我就必须编辑 jar。我不希望发生这种情况,我只想编辑脚本文件

最佳答案

做到这一点的唯一方法是在类中包含一个 main 方法,该方法调用所需的方法:

public static void main(String[] args) {
MyFinder myFinder = new MyFinder();
myFinder.myFind();
}

编辑:实际上,这不是唯一的方法,但确实是唯一实用的方法..

编辑2:如果您有多个方法要调用,请向该方法传递一个参数:

public static void main(String[] args) {
MyFinder myFinder = new MyFinder();
if (args.length > 0) {
switch (args[0]) {
case "myFind":
myFinder.myFind();
break;
case "methodB":
myFinder.methodB();
break;
default:
System.err.println("Unkown target");
break;
}
}
}

这样调用:java -jar MyJar.jar MyFinder.class myFind

关于java - 从脚本文件调用 jar 文件内的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36125729/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com