java - 是否有任何命令行函数可以从巨大的 Java 文件中返回主类的名称?
问题描述
我想自动化从 Internet 下载大量 Java 文件的过程并一一测试它们。但是,大多数站点都没有指定主类的名称。因此,大多数时候,我需要手动搜索字符串“public class”以确定文件名。有没有更好的流程来做到这一点?
一般来说,代码格式为:
import ...
import ...
import ...
class A {...}
class B {...}
public class C {...}
解决方案
grep -lP '\s*public\s+static\s+void\s+main\s*\(\s*(?:\[\s*\]\s*)?String\s*(?:\[\s*\])?\s*\w+\s*\)' *.java
上面的命令将返回一个包含 main 方法的 .java 文件列表,这只是表明每个程序的 Main 类。
如上所述,公共类并不一定意味着它是程序的主类,所以我相信在这种情况下,上面的 grep 命令是你最好的机会。
另请注意,在同一个应用程序/程序中,可能有多个包含 main 方法的类,即使实际上只有一个用作程序的入口点。
推荐阅读
- c - 为什么在Linux kernel V5下,UDP connect和unconnect不起作用?
- c# - 带有桌面应用程序 .Net Win 表单的 Amazon 迭代
- reactjs - 让笑话/酶测试等待上下文
- csv - PowerBI - 多个 CSV 数据加载失败/无错误
- python - Python - 如何将一个数字除以一个复数,实现我自己的复数类?
- r - 嵌套数据框/小标题的多元线性回归模型
- javascript - 使用js的多行随机文本
- powerbi - PowerBI 可视化编辑
- excel - 调用 UserForm_Click 子例程
- ios - 是否可以以编程方式将“按钮形状”覆盖为关闭?