java – 用于项目语义版本控制的Maven插件
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了java – 用于项目语义版本控制的Maven插件,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含2116字,纯文字阅读大概需要4分钟。
内容图文
![java – 用于项目语义版本控制的Maven插件](/upload/InfoBanner/zyjiaocheng/794/1ce9109066714a34bca81663cc2cf285.jpg)
我正在寻找一个maven插件,它将帮助我管理在CI环境中进行的每个构建的版本名称和代码.能够将前缀附加到主版本代码甚至更新它的东西(不更改pom.xml).例如:
project version: 2.0.1
git/svn revision: 2342334
jar output: name-2.0.1-2342334.jar
maven repo: ../path/to/local/maven/repo/<package path>/2.0.1-2342334/
这个插件的主要要求是:
>必须在Maven存储库中(这意味着在我的pom.xml中添加此插件并运行maven不需要额外的设置)
>每次应用时都不得编辑pom
>配置文件很棒,所以我可以管理版本控制过程
>必须能够编辑输出文件元数据(因此将应用版本,就像它首先写在pom.xml文件中一样)
到目前为止,我发现只有maven-buildmetadata-pluging但不幸的是它不在Maven Repo,所以我被卡住了.任何帮助都会很棒.
解决方法:
如果您更改工件的版本,则pom必须反映更改,否则将无法再现.
如果你在构建过程中改变某些东西(比如添加版本,无论如何),它必须反映在pom文件中.否则,您无法使用相同的结果重现构建过程.
您已写入不更改pom文件但保留单独的文件.所以问题是:为什么不使用pom文件本身,因为它的目的正是为了这个目的.
此外,maven-buildmetadata-plugin提到的所有信息都可以通过使用现有的maven插件(如build-helper-maven-plugin,buildnumber-maven-plugin)来实现.
可以使用提供SCM修订号(SVN或GIT哈希)等信息的buildnumber-maven-plugin来使用SCM信息.
另一方面,如果您不想手动更改pom文件,可以使用versions-maven-plugin或maven-release-plugin,它可以自动更改pom文件中的信息并自动处理所有这些内容.
要在生产的工件中维护元数据,您可以配置所有插件(如ear,war,jar)等等或多或少像buildbumber来自buildnumber-maven-plugin:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-jar-plugin</artifactId>
<version>${maven-jar-plugin.version}</version>
<configuration>
<archive>
<addMavenDescriptor>true</addMavenDescriptor>
<index>true</index>
<manifest>
<addDefaultImplementationEntries>true</addDefaultImplementationEntries>
<addDefaultSpecificationEntries>true</addDefaultSpecificationEntries>
</manifest>
<manifestEntries>
<artifactId>${project.artifactId}</artifactId>
<groupId>${project.groupId}</groupId>
<version>${project.version}</version>
<buildNumber>${buildNumber}</buildNumber>
</manifestEntries>
</archive>
</configuration>
</plugin>
当然,如果你真的想使用Maven,你必须使用像Artifactory或Nexus这样的存储库管理器,它可以让生活更轻松.
内容总结
以上是互联网集市为您收集整理的java – 用于项目语义版本控制的Maven插件全部内容,希望文章能够帮你解决java – 用于项目语义版本控制的Maven插件所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。