java - 将java源文件合并为一个

标签 java regex

我有一个主要的 java 文件(我们称它为 MainDynamic.java),它使用了几个其他类(在它们自己的源文件中)。

出于您可能觉得奇怪的原因,我想创建一个文件(我们称之为 MainStatic.java),它基本上是 MainDynamic.java 的一个版本,其中所有使用过的类都被粘贴进去,这样它就变成了一个巨大的(几乎不可读的)文件,它是“自包含的”并且只从标准库中导入类。

所有来自包含类的必要导入都必须导入到静态文件中,或者必须(自动)修改源代码以使用绝对标识符。

我尝试了一些正则表达式魔法,但它似乎对它可以用导入等做什么有限制。谷歌搜索也没有直接产生一段神奇的代码。

那么:最简单的方法是什么?有人在我之前这样做过吗(如果你能指出代码/实现)? (我想避免花太多时间在最终注定要失败的方法上)


编辑:为什么?我将参加一个竞赛,他们只允许提交单个文件。 (不要问我为什么)。我发现在一个包含大量类的巨大文件中工作非常(非常)烦人(做一些回溯,在图形中进行约束搜索等。你需要一些类)。手动将所有内容修补在一起太耗时了。

最佳答案

mellamokb 建议的方法:

You might just want to write a Java program/script that does this. You can keep it simple by making some constraints and rules on how you write the files. For example, always put import at the very top together, make sure all .java files are in the same directory, etc. Then it's just a matter of parsing the imports and getting a distinct list, then dumping all the files together into a single file.

关于java - 将java源文件合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22648108/

相关文章:

java - 没有多部分/表单数据的 Spring MVC 文件上传?

regex - 使用 perl 替换除最后一次出现的所有内容

regex - 如何用正则表达式捕获字符串 "word1/word2/*"?

ruby - 如何用 ruby 切割绳子

java - 使用 XSLT 将 xml 转换为 csv 时,将逗号 ',' 替换为值

java - Batik - 计算三次样条的边界

java - 添加带有显示标签的自定义行

java - 使用 Java 从 Json Payload 获取字段 ID 值

python - 使用正则表达式删除特定单词

正则表达式匹配两个字符串之间最后一次出现的位置