我面临以下问题:
我将收到一个或多个 .java 文件。这个想法是自动化编译和执行过程。
- 我没有编写或查看过我收到的 .java 源文件。
- 多个目录中可能有 1 个文件或多个文件。
- 所有这些都是在 Linux (Debian/CentOS) 下完成的。
这是一个示例:
- 收到 2 个文件:
- SomeFile.java 和 SomeOtherFile.Java(这个有 static public void main(String args[]){} 方法,但我不知道!)
- 进程以这种方式获取文件并编译它们: javac -encoding UTF-8 -sourcepath 。 -d。 *.java
所以我的问题是:我不知道哪个包(如果有)包含 Main 方法,所以我不知道要执行什么?
java packageName.SomeOtherFile
最佳答案
很多方法:
- 获取a java source code parser ,解析源码,找到方法
- 编译所有内容,使用反射检查生成的 *.class 文件,找到方法。
- 如果文件数量足够少,只需尝试全部即可
关于java - 在不知道Main方法在哪里的情况下编译并执行java源代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22731544/