将Java源文件合并成一个文件

4
我有一个主要的Java文件(我们叫它MainDynamic.java),它使用了一些其他类(在它们自己的源文件中)。
由于某些原因,我想创建一个文件(我们叫它MainStatic.java),它基本上是MainDynamic.java的一个版本,其中所有使用的类都被粘贴到一个巨大的(几乎不可读的)文件中,并且只导入标准库中的类。
所有包含类的必要导入将不得不在静态文件中导入,或者源代码必须(自动)修改为使用绝对标识符。
我尝试过一些正则表达式魔法,但是它似乎有限制,不能处理导入等操作。谷歌搜索也没有直接产生神奇的代码。
那么,最简单的方法是什么?有人在我之前做过这件事吗(如果可以,您能指向代码/实现)?(我希望避免花费太多时间去尝试注定要失败的方法)
编辑:为什么?我将参加比赛,他们只允许单个文件提交。(别问我为什么)。我发现在一个有大量类的巨大文件中工作非常(非常)恼人。手动将所有内容拼合在一起太耗时了。

5
有人在我之前做过这件事吗?我表示怀疑。这听起来像是一个非常非常糟糕的主意。为什么你要那样做呢? - JB Nizet
我编辑了问题以解释原因 ;) - Samuel
@David 他们可能会互相导入,理论上它们可能有相同的名称,但我可以考虑到这一点,所以你可以假设它们具有不同的名称。 - Samuel
很遗憾,不行!必须有一个名为Main.java的文件,可以自动编译和执行。我想他们真的不喜欢Java程序员! - Samuel
1
你可能只需要编写一个Java程序/脚本来完成这个任务。你可以通过对文件编写一些限制和规则来保持简单。例如,总是将import放在最顶部,确保所有的.java文件都在同一个目录下等等。然后,只需要解析imports并获取一个不同的列表,然后将所有文件合并到一个文件中即可。 - mellamokb
显示剩余6条评论
1个回答

1

mellamokb提出的方法:

你可以编写一个Java程序/脚本来完成这个任务。你可以通过一些约束和规则来简化它的实现,例如,总是将import放在最顶部,确保所有的.java文件都在同一个目录下等。然后,只需要解析import并获取不同的列表,然后将所有文件合并到一个文件中即可。


这应该是一个社区维基文章 - Mogsdad

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接