使用 maven2 插件自动生成串行版本 uid

Posted

技术标签:

【中文标题】使用 maven2 插件自动生成串行版本 uid【英文标题】:auto generation of serial version uid using maven2 plugin 【发布时间】:2010-12-17 07:34:07 【问题描述】:

是否有一个 maven 插件可以自动计算和更新所有实现 Serializable 接口的 java 类文件的串行版本 uid?

【问题讨论】:

【参考方案1】:

AspectJ compiler Maven Plugin 的compile mojo 有一个XaddSerialVersionUI 参数:

使编译器计算 SerialVersionUID 字段并将其添加到任何实现受方面影响的 Serializable 的类型。该字段是根据编织发生之前的类计算的。

所以你可以应用一个假的或空的方面并使用这个插件来编织你的类(这并不理想,但我认为直接修改 Java 源代码也不是一个好的做法)。

【讨论】:

【参考方案2】:

一个名为 maven-svuid-plugin 的 Maven 模块可用于执行您想要的操作。请看https://bitbucket.org/lp/maven-svuid-plugin/wiki/Home

【讨论】:

此插件只能更改字段的值,如果缺少则不能添加。【参考方案3】:

我不知道有任何 Maven 插件可以添加此功能,但您可以在生命周期的 process-sources 阶段使用 Maven AntRun Plugin 调用 Serialver Ant task。

【讨论】:

你的意思是process-sources 是的,这就是我的意思。现在编辑。谢谢! 我可能会暂时选择antrun。非常感谢 存在一个 maven 插件。看看下面的答案。

以上是关于使用 maven2 插件自动生成串行版本 uid的主要内容,如果未能解决你的问题,请参考以下文章

如何从命令行生成 Java 文件的串行版本 UID?

Maven2生命周期帮助

在 Maven 2 的命令行中设置插件的版本

编写 Maven2 站点插件时获取站点资源列表的最佳方法是啥?

Maven2:Cargo 插件热部署 & Jonas 支持

如何让 Cordova 通过插件自动嵌入自定义 iOS 框架?