【发布时间】:2016-07-07 15:33:46
【问题描述】:
我有一个名为 MyJar.jar 的 jar,其中包含 MyFinder.class。这个类包含一个名为 myFind() 的非静态函数。我想从 shell 脚本调用 myFind()。
我已经知道如何使用 jar 文件中的静态 main() 调用特定类:
java -jar MyJar.jar MyFinder.class
我需要一些像上面这样可以调用非静态函数的命令
主要动机:
我有一个脚本文件,只有一个 jar。 在脚本中,我想根据特定时间进行函数调用。我可以在 jar 内部对其进行编码。但是,如果以后需求发生变化,我必须编辑 jar。我不希望这种情况发生,我只想编辑脚本文件
【问题讨论】:
-
调用一个非静态函数是没有意义的,因为它们确实属于一个类的实例,当你试图在一个类中启动一个函数作为起点时,你不会拥有它,
-
1) 是否可能 2) 如果不可能:我是否应该将函数更改为静态并假设它已更改我可以在一个类中有两个可以独立调用的静态方法
-
nfechner 的解决方案是我眼中唯一合理的解决方案。您可能想查看关键字 static 的作用,因为您似乎不知道。
标签: java bash function class jar