使用Java或Groovy以编程方式修改Java源代码
为了自动化遗留项目中的某些手动任务,我需要从java或groovy代码中修改现有的java文件 我不想使用正则表达式,因为在我看来它既不快速也不干净 我找到了javassist和srcgen4javassist。第一种方法允许我根据自己的意愿修改源代码,但只编写字节码,没有任何注释和注释。对于第二个类,我没有设法读取一个不是用srcgen4javassist本身创建的现有类使用Java或Groovy以编程方式修改Java源代码,java,groovy,Java,Groovy,为了自动化遗留项目中的某些手动任务,我需要从java或groovy代码中修改现有的java文件 我不想使用正则表达式,因为在我看来它既不快速也不干净 我找到了javassist和srcgen4javassist。第一种方法允许我根据自己的意愿修改源代码,但只编写字节码,没有任何注释和注释。对于第二个类,我没有设法读取一个不是用srcgen4javassist本身创建的现有类 有没有一个优雅的解决方案,或者我需要咬紧牙关使用Regex吗?您可以使用类似eclipse的方法解析代码,在这一点上,您可
有没有一个优雅的解决方案,或者我需要咬紧牙关使用Regex吗?您可以使用类似eclipse的方法解析代码,在这一点上,您可以使用xpath样式找到替换目标,但这需要大量的工作
你也可以考虑用注释来标记替换区域,但是(至少在我看来)API是麻烦的。 您可以将regexp与源代码中的一些标记组合在一起,例如
//START REPLACEMENT-TARGET
...code to be edited/replaced
//END REPLACEMENT TARGET
这将使您的regexp目标更加安全。您想做什么?举个例子会有帮助。我需要自动编辑源文件,新创建的行与原始手动编写的行看起来相同。我想在类似字段组中添加一个新字段。我想添加一个新的getter来返回字段值。由于我采用了regexp路径。这是目前最直接的方法。