Maven 的构建之 pom文件一些属性分析
来源:互联网 发布:ubuntu可以干什么 编辑:程序博客网 时间:2024/05/20 22:38
1. Maven 聚合:
是指当有A、B、C多个需要构建的时候,我们想使用一个命令就对其进行构建。这时我们就可以使用聚合了。我们可以创建一个额外的模块D,作为一个模块,它也必须有自己的POM文件,但是这个POM文件有一些特殊的地方。
<packaging/>标签,即打包类型,必须为为pom。
<modules/>标签,必须增加modules标签。modules标签的每个属性module,对应的是每个子模块的目录路径。所以我们一般把聚合模块房子项目目录的最顶层,其它模块作为聚合模块的子目录。
2. Maven 属性:
属性的引用很简单,即${属性名},Maven有很多内置属性,如${basedir},表示项目根目录但是用的最多的还是自定义属性。自定义属性也很简单,在<properties/>标签里面定义即可。
3. Maven 资源过滤:
在不同的环境中需要的构建会有区别,比如说开发环境、测试环境以及线上环境,它们的数据库等等的配置可能不同。Maven可以针对不同的环境生成不同的构建,当然这是基于配置的。
为了应对变化的环境,我们需要把这些可能变化的属性抽离出来,如数据库配置:
database.jdbc.driver = ${db.driver}
database.jdbc.url=${db.url}
database.jdbc.username = ${db.username}
database.jdbc.passwrd = ${db.password}
这些属性可以再profile中自定义。默认情况下,Maven只会解析POM中的属性引用,如果该配置放在了项目的resources目录下,是不会被Maven解析的。
资源文件的处理实际是Maven-resources-plugin负责的,通过配置,它可以解析资源文件里面的属性,即开启资源过滤。
<build>
<resources>
<resource>
<directory>src/main</directory>
<filtering>true</filtering>
</resource>
<resource>
<directory>src/main/sql</directory>
<filtering>false</filtering>
</resource>
</resources>
<testResources>
<testResource>
<directory>...</directory>
<filtering>...</filtering>
</testResource>
</testResources>
</build>
在运行时激活制定的profile,即可指定属性引用,如mvn clean install -Pdev。会创建开发环境的构建。
4. Maven Profile:
不同环境需要不同的配置,所以Maven引入了Profile的概念。Profile的原意是轮廓,Maven就是通过不同的Profile来选择构建项目轮廓。
<profiles>
<profile>
<id>dev</id>
<properties>
<db.driver>...</db.driver>
<db.url>...</db.url>
<db.username>...</db.username>
<db.password>...</db.password>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<db.driver>...</db.driver>
<db.url>...</db.url>
<db.username>...</db.username>
<db.password>...</db.password>
</properties>
</profile>
</profiles>
Maven通过命令行激活Profile,使用-P参数,如mvn clean install -Ptest
我们可以使用如下方式来选择默认激活的Profile的方式:
<activation>
<activeByDefault>true</activeByDefault>
</activation>
当存在其它激活方式的时候,默认激活失效。
- Maven 的构建之 pom文件一些属性分析
- Maven 的构建之 pom文件一些属性分析
- Maven 的构建之 pom文件一些属性分析
- Maven pom 文件的一些说明
- maven构建ssm项目之pom文件配置(一)
- Maven-pom文件内置属性
- 使用maven构建ssm项目的pom文件
- Maven super Pom中定义的一些属性
- Maven 构件工程的属性文件-----pom.xml文件
- maven 的pom文件
- Maven的pom文件
- Maven的Pom文件
- maven构建pom.xml文件理解
- maven pom文件的一些自己的理解
- maven的配置,maven构建工程,pom.xml文件配置,maven打包
- maven之pom文件详解
- maven hibernate的pom文件
- Maven的POM文件简介
- Object中的equal()方法详细与"=="
- JavaScript1.6数组新特性和JQuery的几个工具方法
- Struts2 自定义日志 拦截器 interceptor
- 在Ubuntu上下载、编译和安装Android最新源代码
- rtp打包的FU-A方式
- Maven 的构建之 pom文件一些属性分析
- WIN7下不能安装WAS6.1.0.0的解决办法
- 写在2011暑假
- 在Ubuntu上下载、编译和安装Android最新内核源代码(Linux Kernel)
- 使用Activity传递复杂的数据
- 正则表达式
- 关联、组合、聚合、依赖关系比较
- 如何单独编译Android源代码中的模块
- UML中几种类间关系:继承、实现、依赖、关联、聚合、组合的联系与区别