Java 使用SVN将一些模板文本包含到源文件中是一个很好的解决方案?

Java 使用SVN将一些模板文本包含到源文件中是一个很好的解决方案?,java,svn,templates,Java,Svn,Templates,我在一个SVN存储库中有一个Java项目,有一堆.Java文件,每个文件的顶部都有一个许可协议花盒(我有一些客户已经获得了源代码的许可并运行了该产品) 是否有一种好方法可以在一个地方修改/维护许可证文本,而不必在其更改时手动更新所有源文件 看看一些类似(但不完全相同)的问题,SVN似乎没有这种开箱即用的功能——还有什么其他方法最合适 编辑:理想情况下,解决方案的作用类似于SVN关键字(Id、Author等),而不是构建时解决方案。客户也可以访问SVN存储库,因此如果文件的SVN版本中存在许可证文

我在一个SVN存储库中有一个Java项目,有一堆.Java文件,每个文件的顶部都有一个许可协议花盒(我有一些客户已经获得了源代码的许可并运行了该产品)

是否有一种好方法可以在一个地方修改/维护许可证文本,而不必在其更改时手动更新所有源文件

看看一些类似(但不完全相同)的问题,SVN似乎没有这种开箱即用的功能——还有什么其他方法最合适

编辑:理想情况下,解决方案的作用类似于SVN关键字(Id、Author等),而不是构建时解决方案。客户也可以访问SVN存储库,因此如果文件的SVN版本中存在许可证文本,这将是理想的。我知道SVN有提交触发器——实现它的简单方法是什么


编辑2:看看SVN钩子,看起来我不想做的事情是可能的。我想文本更改时可以运行的构建过程是正常的,因为它不会经常更改。

修改需要包含许可证文本的源文件,以包含一些令牌,然后将许可证文本移动到保存在subversion中的单个文件中。最后,作为构建过程的一部分,添加一个用许可证文本替换令牌的步骤。在我的工作中,我使用sed和make的组合来做这些事情。然后,您可以在将源代码分发给客户之前执行这一步骤。

ANT可以轻松地进行替换。查看
目标。

您的客户是否需要立即访问源代码,或者是否可以接受一个小的延迟,例如提交和可用性之间的一小时?这可能是可以接受的-您是否建议一项工作来镜像svn存储库并应用更改(使用Ant或其他方法)?