`
tobato
  • 浏览: 101815 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

Maven获取工程版本信息

 
阅读更多
今天把Mavn2的分类修改为了Maven3.

竟然那么多年一直没有总结过Mavne2的文章, 闲话少说
===================================================================

今天在构建时碰到的问题是要获取工程的版本信息,利用版本信息把增量的数据库变动
打包Zip到发布版本当中。

用到了一个利器build-helper-maven-plugin:

<build>
    <!--解析构建版本的工具-->
    <plugins>
    <plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>build-helper-maven-plugin</artifactId>
    <version>1.9.1</version>
    <executions>
      <execution>
        <phase>validate</phase>
        <id>parse-version</id>
        <goals>
          <goal>parse-version</goal>
        </goals>
        <configuration>
            <propertyPrefix>parsedVersion</propertyPrefix>
        </configuration>
      </execution>
    </executions>
  </plugin>
          <!--ant 测试-->
          <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-antrun-plugin</artifactId>
            <version>1.1</version>
            <executions>
                <execution>
                    <phase>validate</phase>
                    <goals>
                        <goal>run</goal>
                    </goals>
                    <configuration>
                        <tasks>
                            <echo>Major: ${parsedVersion.majorVersion}</echo>
                            <echo>Minor: ${parsedVersion.minorVersion}</echo>
                            <echo>Incremental: ${parsedVersion.incrementalVersion}</echo>
                            <echo>Qualifier: ${parsedVersion.qualifier}</echo>
                            <echo>BuildNumber: ${parsedVersion.buildNumber}</echo>
                        </tasks>
                    </configuration>
                </execution>
            </executions>
        </plugin>
  </plugins>
</build>


然后在构建当中就可以使用版本信息property了,Ant输出如下
[INFO] Executing tasks
     [echo] Major: 1
     [echo] Minor: 0
     [echo] Incremental: 0
     [echo] Qualifier: SNAPSHOT
     [echo] BuildNumber: 0
[INFO] Executed tasks


====================
Enjoy It!
====================
Tobato 2014-11-11
====================
2
2
分享到:
评论

相关推荐

    ​实现maven项目中多版本依赖兼容使用解决方案

    通过获取高版本jar包的源代码,将冲突的包名进行重命名,如在`org`包前添加`15`,变为`org15`。这样,即使类名相同,它们在类路径中也是不同的,从而避免冲突。 4. **自定义构建高版本依赖的jar**: 将修改后的源...

    第一个maven工程案例

    `pom.xml`文件是Maven工程的心脏,它包含了项目的元数据,如项目名称、版本、描述,以及依赖、插件等信息。例如,一个简单的`pom.xml`可能包含以下内容: ```xml &lt;project xmlns="http://maven.apache.org/POM/...

    SpringBoot+MyBatis+Maven小工程

    本项目"SpringBoot+MyBatis+Maven小工程"是一个典型的Java后端开发框架组合,它利用Spring Boot的简洁配置、MyBatis的数据持久层以及Maven的项目管理能力,为我们提供了一个快速开发的小型应用基础。下面将详细解释...

    建立maven工程

    这时,可以通过查阅Maven官方文档、在线社区或搜索引擎获取解决方案。同时,Maven提供了丰富的插件系统,可以扩展其功能,满足不同项目的需求。 以上就是创建Maven工程的基本流程。通过熟练掌握Maven,你可以更高效...

    IDEA最新版2020.1的maven工程本地依赖仓库无法使用问题(已解决)

    "IDEA最新版2020.1的maven工程本地依赖仓库无法使用问题解决方案" 本文主要介绍了IDEA最新版2020.1的maven工程本地依赖仓库无法使用问题的解决方案。这篇文章详细介绍了 IDEA最新版2020.1的maven工程本地依赖仓库...

    javaMaven工程.zip

    在"javaMaven工程.zip"中,Maven用于管理项目的依赖、构建流程以及版本控制。 3. **网络爬虫**:网络爬虫是自动遍历Web的程序,它模拟浏览器发送HTTP请求到服务器,然后解析服务器返回的HTML或其他格式的响应。在这...

    孔浩maven工程

    【描述】中的关键信息是"带repository",这意味着该工程不仅包含了 Maven 的基本安装包(如`apache-maven-3.2.5-bin`),还可能包括了孔浩老师个人或教学用的 Maven 仓库(MavenRepository)。Maven 仓库是存储各种...

    maven多模块项目工程-已搭建好

    在"maven多模块项目工程-已搭建好"这个压缩包中,我们主要关注的是名为"xd-parent"的模块。在Maven中,"parent"模块通常用来定义共有的依赖管理和插件配置,以简化子模块的构建配置。这个"xd-parent"可能就是整个...

    官方下载maven-3.5.4

    ** Maven 概述 ** Maven 是一个基于项目对象模型(Project Object Model,POM)的概念,用于管理和构建 Java 项目的工具。...使用官方下载的 Maven 3.5.4 可以确保获取稳定且受支持的版本,减少因工具问题带来的困扰。

    Spring in Action 使用Maven 构建Spring 工程

    每个依赖项都有一个唯一的`groupId`、`artifactId`和`version`,这些信息用于从Maven中央仓库定位和获取正确的JAR包。 Spring的IoC(Inversion of Control)容器是实现DI的关键组件。在Maven构建的工程中,我们可以...

    Maven构建的分布式demo

    首先,我们需要创建一个父POM工程,它定义了共享的配置,如集团队信息、版本控制、依赖管理和插件管理。父POM可以作为所有子模块的模板,简化了配置的维护。 2. **WAR工程**:Web应用程序通常被打包成WAR(Web ...

    maven window下安装包

    第11章:用Maven管理项目版本/11.4 版本管理举例/11.4.3 将项目保存到SVN(SVN:版本管理工具) 第11章:用Maven管理项目版本/11.4 版本管理举例/11.4.4 在POM中配置SVN地址 第11章:用Maven管理项目版本/11.4 版本...

    springboot 基于maven的多模块工程

    在“springboot基于maven的多模块工程”中,我们讨论的核心概念是如何使用Maven来组织一个大型项目,将其分解为多个独立的模块,每个模块负责不同的功能。这样做的好处包括提高代码的可维护性、重用性和团队协作效率...

    新建maven工程包含源码和文档

    你可以从Apache Maven官方网站获取最新版本,并根据操作系统进行相应的配置。 2. **创建项目结构**: Maven遵循约定优于配置的原则,因此项目结构是固定的。基本结构包括`src/main/java`(存放源代码)、`src/main/...

    基于Springboot的maven项目

    Maven是一个Java项目管理工具,它定义了项目的构建过程、依赖关系和项目信息,通过一个统一的POM(Project Object Model)文件进行管理。在本项目中,Maven帮助我们管理各种依赖,如Spring Boot的starter依赖、...

    selenium4.16.1环境配置信息,以及maven工程源码

    在这个环境中,我们将探讨如何配置Selenium 4.16.1,以及如何在Maven工程中整合它的源码。 首先,配置Selenium 4.16.1的环境涉及以下几个步骤: 1. **Java环境**:确保已安装Java Development Kit (JDK) 并设置好...

    maven搭建、集成,创建聚合项目问题及错误解决

    这通常涉及下载最新版本的Maven,解压到合适的位置,并将Maven的bin目录添加到系统的PATH环境变量中。完成这些步骤后,可以通过在命令行输入`mvn -v`来验证Maven是否已正确安装。 二、Maven私服搭设 Maven中央仓库...

    基于Maven、Dubbo、Zookeeper、Spring和父子工程之间调用的新手项目搭建

    在我们的项目中,首先要在每个服务提供者的工程中引入Dubbo的依赖,并配置服务接口、实现类以及暴露的服务信息。同时,服务消费者也需要引入相同版本的Dubbo依赖,以便调用服务提供者提供的接口。 Zookeeper是...

    maven构建web工程

    ** Maven构建Web工程详解 ** Maven是一款强大的项目管理和依赖管理工具,广泛应用于Java开发领域。它通过统一的构建过程和约定优于配置的原则,极大地简化了项目的构建、编译、测试和部署流程。在本篇内容中,我们...

Global site tag (gtag.js) - Google Analytics