2010-09-23 77 views
0

我正在寻找一个库,它可以简化将代码的各个部分从一个项目复制到另一个项目的过程。不需要复制属于同一文件的代码的某些部分。我意识到存在一些代码生成器,这些代码生成器能够以编程方式从头开始生成生成的代码,但是我正在寻找一个库,使我能够在别处生成手动编码的代码。Java:用于简单源代码重新创建/复制的库

我宁愿一个基于注释的工具,它将使我“标签”的类/文件/包,我想复制。事情是这样的:

@CopyCode 
class Foo { 
    ... 
} 

File destinationDirectory; 
... 
new CodeCopier().copyAllAnnotatedFiles(destinationDirectory); 

,或者至少是这样的:

Package package; 
... 
new CodeCopier().copyPackage(package, destinationDirectory); 

预期的行为: 其中包含“标签”的代码应该复制到目标目录中的文件的源代码(是另一个Java项目),并保持所有的目录/包结构。

有什么图书馆在这里会有帮助吗?

如果没有,你有什么建议,我应该如何实现自己的“码复印机”,并会派上用场什么库?

回答

5

如果您只想复制文件 - 不要这样做。将它们移动到一个库中,并将该库用于不同的项目。

如果需要修改,而复制的代码,我建议FMPP。在这里,您可以从一些自定义属性定义模型,并访问模型值以将它们插入要复制的模板中。我使用这种技术来创建具有相同结构的新项目,并将项目名称和其他单个属性插入到生成的代码中。

+1

+1 - 这是100%的目标。我会补充说,如果你只是稍微修改代码 - 例如更改变量值等,我建议仍然创建一个库并抽象出代码以允许将这些变量设置或添加到调用中。 Martin Fowler的重构是所有这一切的一个很好的参考。 – aperkins 2010-09-23 21:24:24

+0

谢谢,我会看到FMPP可以在这里做什么。我知道一般情况下图书馆会更好,但我的任务的要求很明确,所以它是源代码。 – eold 2010-09-23 22:51:55

+0

不要重复自己。 http://en.wikipedia.org/wiki/Don%27t_repeat_yourself – RonU 2010-09-23 23:20:34