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>
当存在其它激活方式的时候,默认激活失效。
原创粉丝点击