Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将java源文件合并为一个_Java_Regex - Fatal编程技术网

将java源文件合并为一个

将java源文件合并为一个,java,regex,Java,Regex,我有一个主java文件(我们称之为MainDynamic.java),它使用了几个其他类(在它们自己的源文件中) 出于您可能觉得奇怪的原因,我想创建一个文件(我们称之为MainStatic.java),它基本上是MainDynamic.java的一个版本,其中所有使用的类都被粘贴到其中,因此它成为一个巨大的(几乎无法读取的)“自包含”文件并且仅从标准库导入类 从包含的类中导入的所有必要内容都必须导入到静态文件中,或者必须(自动)修改源代码以使用绝对标识符 我尝试了一些正则表达式的魔法,但这似乎有

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

出于您可能觉得奇怪的原因,我想创建一个文件(我们称之为
MainStatic.java
),它基本上是
MainDynamic.java
的一个版本,其中所有使用的类都被粘贴到其中,因此它成为一个巨大的(几乎无法读取的)“自包含”文件并且仅从标准库导入类

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

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

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


编辑:为什么?我将参加比赛,他们只允许提交单个文件。(别问我为什么)。我发现在一个包含大量类的大文件中工作非常(非常)烦人(要在图形中进行回溯、受限搜索等,您需要一些类)。手动将所有内容拼接在一起太耗时。

建议的方法是:


您可能只想编写一个Java程序/脚本来实现这一点。您可以通过对如何编写文件制定一些约束和规则来保持简单。例如,始终将导入放在最顶端,确保所有.java文件都在同一目录中,等等。然后只需解析导入并获得不同的列表,然后将所有文件一起转储到单个文件中


有人在我之前做过吗:我怀疑。这听起来是个非常糟糕的主意。为什么要这样做?正在合并的文件是否已经相互导入?您是否有现有的包结构?如果是这样,您能否确保每个非限定类名(即,没有其包名的类名)都是唯一的?您能告诉我们您这样做的原因吗?如果你想让它更容易编译。。。现在有很多工具(例如Ant、Eclipse)可以使构建包含大量文件的Java项目变得容易。如果您试图将源代码存储在数据库之类的地方,为什么不将所有文件压缩呢?我编辑了这个问题来解释原因;)您可能只想编写一个Java程序/脚本来实现这一点。您可以通过对如何编写文件制定一些约束和规则来保持简单。例如,始终将
import
放在最顶端,确保所有.java文件都在同一目录中,等等。然后只需解析
imports
并获得一个不同的列表,然后将所有文件一起转储到一个文件中。这应该是一个简单的过程。