我可以检测应用程序的主类吗?一个是在命令行上给出的还是从命令行给出的 jar 中加载的?
如果这是不可能的,为什么不呢?
编辑:也许我不清楚。我知道我的应用程序总是可以有很多入口点,但是当应用程序运行时,只有一个入口点用于启动当前的 JVM。这是我需要知道的。
最佳答案
首先,一个应用程序可以有多个入口点。它只是一个包含名为 main 且参数类型为 String[]
的公共(public)静态方法的类。
所以,简短的回答,不,一组类可能有几个可能的入口点。
如果你想列出一个应用程序的所有入口点,你只需要遍历类并寻找这样的主要方法。
但是,如果您创建了一个“可运行的 jar 文件”, list 文件中将有一个条目看起来像
Main-Class: MyPackage.MyClass
指定应用程序的主类。
关于java - 检测主类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2871991/