有两种方法;
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版本号、仓库等等实用
### Jenkins + Maven + SVN + SpringBoot 实现一键打包发布 #### 安装 Jenkins 1. **下载 Jenkins** 首先前往 Jenkins 官网下载 Jenkins,官网上提供了两个下载选项: - 如果用于公司环境,建议选择左侧的企业...
- 使用Maven的`versions`插件可以自动更新所有子模块的POM文件中的版本号。 - 命令格式为:`mvn versions:update-child-modules -DparentVersion=1.0.1-SNAPSHOT`。 - 这条命令会将所有子模块的版本号设置为与...
而Maven SVN Revision Number Plugin提供了这个功能,它能够将SVN的修订版本号插入到构建输出、资源文件或者POM属性中。这样,当项目部署时,用户可以通过查看这些信息了解到项目的具体版本,便于追踪和管理。 使用...
### Jenkins+Maven+svn+Tomcat入门文档 #### Maven **基本介绍** Maven是一种基于项目对象模型(Project Object Model, POM)的软件项目管理工具,它可以帮助开发者通过少量的描述信息来管理和构建项目,包括编译...
此命令将快照版本号更新为发布版本号,并基于修改后的POM文件执行Maven构建。同时,它还会提交POM文件变更,为代码库添加标签,并将代码库中的版本号更新为下一个快照版本。 - **release:prepare-with-pom**: 类似于...
### Jenkins Maven Svn Tomcat 持续集成实战 #### 1. 传统网站部署的流程 在传统网站部署流程中,通常会经历以下几个步骤: 1. **需求分析**:根据用户需求制定功能规格。 2. **原型设计**:创建网站的初步视觉...
第11章:用Maven管理项目版本/11.2 版本号格式约定 第11章:用Maven管理项目版本/11.3 版本状态/11.3.1 主干、分支、标签 第11章:用Maven管理项目版本/11.3 版本状态/11.3.2 状态图 第11章:用Maven管理项目版本/...
Maven 的核心概念是 POM,这是一个 XML 文件,包含了项目的配置信息,如项目名称、版本号、依赖关系等。 - **特性五:构建继承** Maven 支持项目的继承,允许子项目继承父项目的配置,减少了重复配置的工作量。 -...
3. **坐标系统**:Maven 使用一组唯一标识来定位项目和库,包括groupId(组织或公司名)、artifactId(项目名)和version(版本号)。例如,`com.example:my-app:1.0.0`。 4. **生命周期与构建阶段**:Maven 有预...
标题中的“根据SVN信息自动...总结起来,这个主题涉及到了SVN版本控制系统的使用,特别是如何利用其生成补丁包,以便于软件的维护和升级。通过自动化这个过程,开发者可以更高效地分发更新,同时降低用户的升级成本。
2. **坐标**: Maven使用一组唯一的标识符来定位项目,包括groupId、artifactId和version,类似于Java的包名、类名和版本号。 3. **仓库**: Maven使用远程和本地仓库来存储和检索依赖。默认的本地仓库位于用户主目录...
【标题】:SVN.zip_svn_zip:关于SVN版本控制系统 【描述】:SVN,全称为Subversion,是一种广泛使用的版本控制系统,用于管理软件项目中的源代码和其他文件的变更历史。它允许团队成员协作开发,跟踪每一次修改,...
Maven Release Plugin是Maven生态中的一个重要插件,用于自动化项目的版本发布流程,包括版本号更新、代码检查、打包、部署等步骤。 在Maven的Release Plugin配置中,有两个核心文件特别关键:`settings.xml`和`pom...
- **version**:表示项目的版本号。 这些元数据对于构建项目、管理依赖以及部署等都是至关重要的。 **2.3. Maven2的plugin, goal和phase的说明** - **plugin**:插件是Maven的核心组成部分,它提供了具体的构建...
通常,下载的是一个名为`apache-maven-x.y.z-bin.zip`的压缩文件,其中x.y.z表示Maven的版本号。 ### 三、安装Maven 1. 解压下载的压缩包到你希望安装的目录,例如`C:\Program Files\Apache\maven-x.y.z`。 2. 设置...