Maven 实战 09 属性 资源

事实上有六种类型的Maven属性:
内置属性:主要有两个常用内置属性—— ${basedir}表示项目根目录,即包含pom.xml文件的目录; ${version}表示项目版本。
POM属性:pom中对应元素的值。例如${project.artifactId}对应了<project><artifactId>元素的值。常用的POM属性:
${project.build.sourceDirectory}     项目的主源码目录,默认src/main/java
${project.build.testSourceDirectory}     项目的测试源码目录,默认src/test/java
${project.build.directory}     项目的构建输出目录,默认target/
${project.outputDirectory}     项目的主代码编译输出目录,默认target/classes/
${project.testOutputDirectory}     项目的测试代码编译输出目录,默认target/test-classes/
${project.groupId}     项目的groupId
${project.artifactId}     项目的artifactId
${project.version}     项目的version
${project.build.finalName}     项目打包输出文件的名称,默认为${project.artifactId}-${project.version}

自定义属性:在pom中<properties>元素下自定义的Maven属性
<properties>

<!-- Generic properties -->
<java.version>1.6</java.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
<org.aspectj.version>1.6.11</org.aspectj.version>
<!-- Spring -->
<org.springframework.version>3.2.3.RELEASE</org.springframework.version>


<!-- Logging -->
<logback.version>1.0.13</logback.version>
<slf4j.version>1.7.5</slf4j.version>


<!-- Test -->
<junit.version>4.11</junit.version>
<checkstyle.config.location>config/maven_checks.xml</checkstyle.config.location>
</properties>

Settings属性:与POM属性同理。如${settings.localRepository}指向用户本地仓库的地址

Java系统属性:所有Java系统属性都可以使用Maven属性引用,例如${user.home}指向了用户目录。可以通过命令行mvn help:system查看所有的Java系统属性

环境变量属性:所有环境变量都可以使用以env.开头的Maven属性引用。例如${env.JAVA_HOME}指代了JAVA_HOME环境变量的值。也可以通过命令行mvn help:system查看所有环境变量

资源过滤
可以资源文件中使用属性变量
db.Driver=${db.Driver}   
db.url=${db.url}   
db.user=${db.user}   
db.password=${db.password}  

在POM中
        <resources>   
            <resource>   
                <directory>${project.basedir}/src/main/resource</directory>   
                  <filtering>true</filtering>    
            </resource>   
        </resources>   
    < profiles>   
        < profile>   
            <id>test1</id>   
            <activation>   
                <property>   
                    <name>env</name>   
                    <value>dev1</value>   
                </property>   
            </activation>   
            <properties>   
                <db.Driver>org.gjt.mm.mysql.Driver</db.Driver>   
                <db.url>jdbc:mysql://localhost:3306/uxian99</db.url>   
                <db.user>liuyan</db.user>   
                <db.password>111111</db.password>   
            </properties>   
        </profile>   
        < profile>   
            <id>test2</id>   
            <activation>   
                <property>   
                    <name>env</name>   
                    <value>dev2</value>   
                </property>   
            </activation>   
            <properties>   
                <db.Driver>com.mysql.jdbc.Driver</db.Driver>   
                <db.url>jdbc:mysql://192.168.1.109:3306/uxian99</db.url>   
                <db.user>dba</db.user>   
                <db.password>dba</db.password>   
            </properties>   
        </profile>   
    </profiles>   

mvn clean package –Ptest2  
mvn clean package -Denv=dev1


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值