文档章节

Maven 实战 09 属性 资源

fokYaland
 fokYaland
发布于 2015/06/04 17:27
字数 505
阅读 8
收藏 0
事实上有六种类型的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


本文转载自:http://blog.csdn.net/yanliang1/article/details/12161595

fokYaland
粉丝 4
博文 68
码字总数 3062
作品 0
东城
私信 提问
Maven实战读书笔记(15)

关于灵活的构建 一个优秀的构建系统必须足够灵活,它应该能够让项目在不同的环境下都能成功地构建。 例如,典型的项目都会有开发环境、测试环境和产品环境,这些环境的数据库配置不尽相同,那...

祥林会跟你远走高飞
2014/12/24
368
0
读书replay《maven实战》.2.20190613

前情提要 maven这个工具用了好久了,但是一直都用的迷迷糊糊的,没有对它进行过系统性的学习,只是知道一些常用的功能怎么实现,所以20190516这一天我从JD购买了徐晓斌老师所著的《maven实战...

wanxiangming
05/26
5
0
Maven常用插件列表

插件名称 用途 来源 maven –clean -plugin 清理项目 Apache maven –compile -plugin 编译项目 Apache maven –deploy -plugin 部署项目 Apache maven –install -plugin 安装项目 Apache m......

醉公子
2016/05/20
133
0
Maven日常 —— 你应该知道的一二三

以前在日常工作中,使用Maven只是机械的执行Maven clean、Maven install,对其中的原理与过程并无了解,近期阅读了《Maven实战》,对Maven有了更深入的理解。 本篇就针对读书后的理解,对Mav...

青夜之衫
2017/12/05
0
0
Maven项目管理工具参考知识

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/zhaobryant/article/details/73609047 本笔记主要记录关于Maven知识体系的一些Pages和Tips! 一、Maven入门手...

adoryn
2017/06/22
0
0

没有更多内容

加载失败,请刷新页面

加载更多

OSChina 周二乱弹 —— 开发语言和语言开发的能一样么

Osc乱弹歌单(2019)请戳(这里) 【今日歌曲】 @花间小酌:#今日歌曲推荐# 分享The Score的单曲《Revolution》 《Revolution》- The Score 手机党少年们想听歌,请使劲儿戳(这里) @批判派...

小小编辑
今天
1K
16
oracle ORA-39700: database must be opened with UPGRADE option

ORA-01092: ORACLE instance terminated. Disconnection forced ORA-00704: bootstrap process failure ORA-39700: database must be opened with UPGRADE option 进程 ID: 3650 会话 ID: 29......

Tank_shu
今天
3
0
分布式协调服务zookeeper

ps.本文为《从Paxos到Zookeeper 分布式一致性原理与实践》笔记之一 ZooKeeper ZooKeeper曾是Apache Hadoop的一个子项目,是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它...

ls_cherish
今天
4
0
聊聊DubboDefaultPropertiesEnvironmentPostProcessor

序 本文主要研究一下DubboDefaultPropertiesEnvironmentPostProcessor DubboDefaultPropertiesEnvironmentPostProcessor dubbo-spring-boot-project-2.7.3/dubbo-spring-boot-compatible/au......

go4it
昨天
3
0
redis 学习2

网站 启动 服务端 启动redis 服务端 在redis 安装目录下 src 里面 ./redis-server & 可以指定 配置文件或者端口 客户端 在 redis 的安装目录里面的 src 里面 ./redis-cli 可以指定 指定 连接...

之渊
昨天
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部