`

maven打包获得svn版本号

 
阅读更多
有两种方法;
1. 使用命令行, linux安装subversion, windows安装Slik-Subversion-1.7.9-x64.msi, 然后自己编写maven插件, 在打包的时候调用插件, 插件发送svn info path命令获得版本号, 然后自己写入文件.

2. 使用maven-svn-revision-number-plugin插件,
<plugin>
				<groupId>com.google.code.maven-svn-revision-number-plugin</groupId>
				<artifactId>svn-revision-number-maven-plugin</artifactId>
				<version>1.13</version>
				<configuration>
					<entries>
						<entry>
							<prefix>svn_info</prefix>
							<depth>empty</depth>
						</entry>
					</entries>
				</configuration>
				<executions>
					<execution>
						<phase>validate</phase>
						<goals>
							<goal>revision</goal>
						</goals>
					</execution>
				</executions>
				<dependencies>
					<dependency>
						<groupId>org.tmatesoft.svnkit</groupId>
						<artifactId>svnkit</artifactId>
						<version>1.7.8</version>
					</dependency>
				</dependencies>
			</plugin>

A: 插件写入/META-INF/MANIFEST.MF信息
http://stackoverflow.com/questions/12144300/how-to-set-version-number-to-java-web-application-using-maven
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.2</version>
    <configuration>
        <archive>
						<manifestEntries>
							<SVN-Revision>${svn_info.revision}</SVN-Revision>
							<SVN-path>${svn_info.path}</SVN-path>
							<SVN-mixedRevisions>${svn_info.mixedRevisions}</SVN-mixedRevisions>
							<SVN-committedRevision>${svn_info.committedRevision}</SVN-committedRevision>
						</manifestEntries>
					</archive>
    </configuration>
</plugin>


B: 参考Maven之使用SVN版本号 http://lanhuidong.iteye.com/blog/1975808



src/main/resources/version.txt
repository = ${svn_info.repository}
path = ${svn_info.path}
revision = ${svn_info.revision}
mixedRevisions = ${svn_info.mixedRevisions}
committedRevision = ${svn_info.committedRevision}
status = ${svn_info.status}
specialStatus = ${svn_info.specialStatus}

打包后这个文件变为
repository = https://xxxxxxxxxx/svn/rh_cpm
path = trunk/rh_cpm_web
revision = 3579
mixedRevisions = false
committedRevision = 3579
status =
specialStatus =
分享到:
评论

相关推荐

    maven 简单实用的配置,打包,获取svn版本号

    maven 简单实用的配置,打包,获取svn版本号、仓库等等实用

    jenkins+maven+svn+springboot实现一件打包发布

    ### Jenkins + Maven + SVN + SpringBoot 实现一键打包发布 #### 安装 Jenkins 1. **下载 Jenkins** 首先前往 Jenkins 官网下载 Jenkins,官网上提供了两个下载选项: - 如果用于公司环境,建议选择左侧的企业...

    maven 工程升级版本步骤

    - 使用Maven的`versions`插件可以自动更新所有子模块的POM文件中的版本号。 - 命令格式为:`mvn versions:update-child-modules -DparentVersion=1.0.1-SNAPSHOT`。 - 这条命令会将所有子模块的版本号设置为与...

    Maven SVN Revision Number Plugin官方英文文档

    而Maven SVN Revision Number Plugin提供了这个功能,它能够将SVN的修订版本号插入到构建输出、资源文件或者POM属性中。这样,当项目部署时,用户可以通过查看这些信息了解到项目的具体版本,便于追踪和管理。 使用...

    Jenkins+Maven+svn+Tomcat入门文档

    ### Jenkins+Maven+svn+Tomcat入门文档 #### Maven **基本介绍** Maven是一种基于项目对象模型(Project Object Model, POM)的软件项目管理工具,它可以帮助开发者通过少量的描述信息来管理和构建项目,包括编译...

    Maven插件实现自动化版本发布.docx

    此命令将快照版本号更新为发布版本号,并基于修改后的POM文件执行Maven构建。同时,它还会提交POM文件变更,为代码库添加标签,并将代码库中的版本号更新为下一个快照版本。 - **release:prepare-with-pom**: 类似于...

    Jenkins Maven Svn tomcat 持续集成实战

    ### Jenkins Maven Svn Tomcat 持续集成实战 #### 1. 传统网站部署的流程 在传统网站部署流程中,通常会经历以下几个步骤: 1. **需求分析**:根据用户需求制定功能规格。 2. **原型设计**:创建网站的初步视觉...

    maven window下安装包

    第11章:用Maven管理项目版本/11.2 版本号格式约定 第11章:用Maven管理项目版本/11.3 版本状态/11.3.1 主干、分支、标签 第11章:用Maven管理项目版本/11.3 版本状态/11.3.2 状态图 第11章:用Maven管理项目版本/...

    maven使用文档,maven使用文档

    Maven 的核心概念是 POM,这是一个 XML 文件,包含了项目的配置信息,如项目名称、版本号、依赖关系等。 - **特性五:构建继承** Maven 支持项目的继承,允许子项目继承父项目的配置,减少了重复配置的工作量。 -...

    apache-maven-3.2.3

    3. **坐标系统**:Maven 使用一组唯一标识来定位项目和库,包括groupId(组织或公司名)、artifactId(项目名)和version(版本号)。例如,`com.example:my-app:1.0.0`。 4. **生命周期与构建阶段**:Maven 有预...

    根据SVN信息自动生成升级补丁包

    标题中的“根据SVN信息自动...总结起来,这个主题涉及到了SVN版本控制系统的使用,特别是如何利用其生成补丁包,以便于软件的维护和升级。通过自动化这个过程,开发者可以更高效地分发更新,同时降低用户的升级成本。

    maven完整教程

    2. **坐标**: Maven使用一组唯一的标识符来定位项目,包括groupId、artifactId和version,类似于Java的包名、类名和版本号。 3. **仓库**: Maven使用远程和本地仓库来存储和检索依赖。默认的本地仓库位于用户主目录...

    SVN.zip_svn_zip

    【标题】:SVN.zip_svn_zip:关于SVN版本控制系统 【描述】:SVN,全称为Subversion,是一种广泛使用的版本控制系统,用于管理软件项目中的源代码和其他文件的变更历史。它允许团队成员协作开发,跟踪每一次修改,...

    Maven_Release_Plugin配置

    Maven Release Plugin是Maven生态中的一个重要插件,用于自动化项目的版本发布流程,包括版本号更新、代码检查、打包、部署等步骤。 在Maven的Release Plugin配置中,有两个核心文件特别关键:`settings.xml`和`pom...

    Maven学习 初学入门

    依赖管理的关键在于`dependencies`元素,它定义了项目依赖的库以及版本号。Maven会根据这些信息从本地仓库或远程仓库(如Maven Central)下载所需的库。 #### Maven插件与扩展 Maven的灵活性来源于其插件系统,...

    Maven2使用项目开发规范说明.doc

    - **version**:表示项目的版本号。 这些元数据对于构建项目、管理依赖以及部署等都是至关重要的。 **2.3. Maven2的plugin, goal和phase的说明** - **plugin**:插件是Maven的核心组成部分,它提供了具体的构建...

    maven安装包

    通常,下载的是一个名为`apache-maven-x.y.z-bin.zip`的压缩文件,其中x.y.z表示Maven的版本号。 ### 三、安装Maven 1. 解压下载的压缩包到你希望安装的目录,例如`C:\Program Files\Apache\maven-x.y.z`。 2. 设置...

Global site tag (gtag.js) - Google Analytics