maven 属性以及灵活构建

maven 属性

一种简单的 maven 属性的使用是:

123
<properties>	<org.springframework.version>3.1.4.RELEASE</org.springframework.version></properties>

上面这种属性是 maven 的自定义属性。

maven 有六种属性:

  • 内置属性:主要两个内置属性,${basedir}表示项目根目录,即包含 pom.xml 文档的目录;${version} 标识项目版本。
  • pom 属性:可以使用该类型的属性引用 pom 文档总对应元素的值。${project.artifacId} 就对应了 artifactId 元素的值。总是以 project 开头,下面是一些常用的 pom 属性:
    • ${project.build.sourceDirectory}:项目主源码目录,默认是 src/main/java
    • ${project.build.testSourceDirectory}:项目测试源码目录。
    • ${project.build.directory}:项目构建输出目录
  • 自定义属性:上面的例子就是自定义属性。
  • setting 属性:跟 pom 属性同理,使用 setting 开头,引用 setting.xml 文档中 xml 元素的值。
  • java 系统属性:所有的 java 系统属性 maven 都可以引用,可以使用 mvn help:system 来查看所有 java 系统属性。
  • 环境变量属性:所有的环境变量都可以使用 env. 开头的 maven 属性引用。例如: env.JAVA_HOME 代表 JAVA_HOME 环境变量的值。可以使用 mvn help:system 来查看所有 java 系统属性。

看下面第一个例子:

12345678910
<dependency>  <groupId>${project.groupId}</groupId>  <artifactId>account-email</artifactId>  <version>${project.version}</version></dependency><dependency>  <groupId>${project.groupId}</groupId>  <artifactId>account-persist</artifactId>  <version>${project.version}</version></dependency>

这个例子就是当前的模块依赖 account-email 和 account-persist,这三个模块使用相同的 groupId 和 version。这样当项目版本升级的时候,就不需要更改依赖的版本了。

构建环境差异

在项目 src/main/resources 目录下我们会放入 jdbc.properties 属性文档,在开发和测试和线上环境我们需要连接的是不同的数据库环境。

我们的想法是可以把不同环境的配置文档放入到不同的文档夹当中。

所以可以们可以在 src/main 目录下面创建文档夹,大致如下:

12345
src/main	- profiles    	- dev        - beta        - prod

maven 为了提供不同环境的 profile 有可以配置的节点:

大专栏  maven 属性以及灵活构建span class="line">1

时间: 2024-10-03 04:20:43

maven 属性以及灵活构建的相关文章

Maven学习(五):maven的灵活构建

一.实现资源过滤 (一)maven-resources-plugin 插件 1.Maven 区别对待Java代码文件和资源文件,maven-compiler-plugin用来编译Java代码,maven-resources-plugin则用来处理资源文件.默认的主资源文件目录是 src/main/resources. 2.很多用户会需要添加额外的资源文件目录,这个时候就可以通过配置maven-resources-plugin来实现.实现资源的过滤只需要添加 <filtering>true<

maven 灵活构建

灵活构建 项目的构建根据不同的情况可能需要有一定的差异,比如编译级别.依赖.打包的属性文件等在不同的运行环境中可能需要有不同的值.为了实现灵活构建,Maven内置了三个特性: 属性:在POM中通过${属性名称}引用构建时的属性值,从而达到灵活构建的目的,主要有六种属性,包括内置属性.POM属性.自定义属性.setting属性.Java系统属性. 环境变量属性. 属性替换可以在pom.xml和资源文件中使用,在资源文件中使用时需要开启资源文件过滤,pom.xml是默认开启的.可以使用的属性如下:

Maven实战读书笔记(六):Maven灵活构建

Maven为了支持构建的灵活性,内置了3大特性,即:属性.Profile和资源过滤. 6.1 Maven属性 Maven的属性与Java代码的常量有异曲同工之妙,都是为了消除重复,对相关内容进行统一管理并且可以减少日后升级版本的工作量,降低错误发生的概率. 在POM文件中,可以通过${属性名称}的方式来引用属性. 在Maven中,存在6类属性,分别为: 1) 内置属性,主要有两个,分别为:${basedir}表示项目根目录,即POM文件所在的目录.${version}表示项目的版本. 2) PO

Maven属性(properties)标签的使用

引用官方的说明https://maven.apache.org/pom.html#Properties: Properties 属性是了解POM基础知识的最后一个要素.Maven属性是值占位符,如Ant中的属性.它们的值可以通过使用符号${X}在POM中的任何位置访问,其中X是属性. 他们有五种不同的风格: 1.env.X:使用“env”来定义变量.将返回shell的环境变量.例如,${env.PATH}包含PATH环境变量. 注意:虽然环境变量本身在Windows上不区分大小写,但查找属性区分

Maven属性

1. 内置属性 ${basedir}表示项目的根目录,既包含pom.xml的文件目录 ${version} 表示项目版本 2. POM属性 用户使用以project.开头的属性引用pom.xml中对应元素的值 常用POM属性:默认值在超级pom.xml中定义,超级pom.xml位置:maven-model-builder-x.x.x.jar/org/apache/maven/model/ ${project.build.sourceDirectory}  项目的主源码目录,默认为src/main

使用maven多模块来构建系统时,spring初始化报错的问题

最近在实验maven结构的maven工程时,碰到一个问题,springbean总是初始化失败: Related cause: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'userMapper' defined in file [D:\workspace\mavenweb\mavenweb-webapp\src\main\webapp\WEB-INF

构建 这里搜集了用来构建应用程序的工具。 Apache Maven:Maven使用声明进行构建并

构建 这里搜集了用来构建应用程序的工具. Apache Maven:Maven使用声明进行构建并进行依赖管理,偏向于使用约定而不是配置进行构建.Maven优于Apache Ant.后者采用了一种过程化的方式进行配置,所以维护起来相当困难. Gradle:Gradle采用增量构建.Gradle通过Groovy编程而不是传统的XML声明进行配置.Gradle可以很好地配合Maven进行依赖管理,并且把Ant脚本当作头等公民. 字节码操作 编程操作Java字节码的函数库. ASM:通用底层字节码操作及

生成资源文件时候,可以动态替换为maven属性

1.maven管理的文件或者是maven插件处理的文件中   可以引用maven属性,在编译输出时候,可以替换   ${project.build.testOutputDirectory}   在资源目录下的属性文件中可以引用这个maven属性 原文地址:https://www.cnblogs.com/justart/p/11519709.html

maven的安装及构建简单的项目

1.maven的主要功能 可以对项目依赖的jar包进行管理,可以让项目保持基本的依赖,排除冗余jar包,并且可以非常轻松的对依赖的jar包进行版本升级.而这些仅仅是Maven最基本的功能,它可以在这基础上对项目进行清理.编译.测试.打包.发布等等构建项目的工作. 2.maven的下载安装 (1)下载 从http://maven.apache.org/中下载最新版本. (2)解压 解压缩下载的zip文件到本地目录下,我放在了C:\Program Files\apache-maven-3.3.1-b