博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Maven属性(properties)标签的使用
阅读量:6069 次
发布时间:2019-06-20

本文共 2616 字,大约阅读时间需要 8 分钟。

在命令行使用属性时,是-D,比如:mvn -Dinput=test

引用官方的说明:

Properties

属性是了解POM基础知识的最后一个要素。Maven属性是值占位符,如Ant中的属性。它们的值可以通过使用符号${X}在POM中的任何位置访问,其中X是属性。

他们有五种不同的风格:

1、env.X:使用“env”来定义变量。将返回shell的环境变量。例如,${env.PATH}包含PATH环境变量。

注意:虽然环境变量本身在Windows上不区分大小写,但查找属性区分大小写。换句话说,虽然Windows shell为%PATH%%Path%返回相同的值,但Maven区分${env.PATH}${env.Path}。对于Maven 2.1.0,为了可靠性,环境变量的名称被归一化为所有大写

2、project.x:POM中的点(.)记号路径将包含相应元素的值。例如:可以通过${project.version}访问<project><version>1.0</version></project>

3、settings.xsettings.xml中的点(.)标注路径将包含相应的元素的值。例如:<settings><offline>false</offline></ settings>可通过${settings.offline}访问。

4、Java系统属性:可通过java.lang.System.getProperties()访问的所有属性都可用作POM属性,如${java.home}

5、x:在POM中的<properties />元素中设置。<properties><someVar>value</someVar></properties>的值可以用作${someVar}

 

而在第2点中访问pom.xml文件的属性时,其实还有一些内置的变量,如下:

${project.basedir}:这引用了module/project的根文件夹(当前pom.xml文件所在的位置),还可以简化的写法:${basedir}

以上更多用法参考:

${project.build.directory}:这表示默认的target文件夹。

${project.build.outputDirectory}:默认情况下表示target/classes文件夹。

${project.build.testOutputDirectory}:这表示默认的target/test-classes文件夹。

${project.build.sourceDirectory}:这表示默认情况下src/main/java文件夹。

${project.build.testSourceDirectory}:这表示默认情况下src/test/java文件夹。

${project.build.finalName}:默认情况下定义为${project.artifactId}-${project.version}

${project.version}:这可以在必须编写文字版本的位置使用,否则,特别是如果您在多模块构建模块间依赖关系。

以上更多用法参考:

${settings.localRepository}:它引用了本地存储库的位置。这是默认的${home}/.m2/repository

以上更多用法参考:

以上参考:

 

而针对第5点时应该是项目上最多使用的,比如以下为项目实践的简单pom.xml:

4.0.0
com.jsoft.test
test-maven
1.0-SNAPSHOT
123
com.mysql.jdbc.Driver
jdbc:mysql://localhost/stock?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=utf-8&autoReconnect=true
root
123456
SELECT 1 + 1
true
${project.basedir}/src/main/resources/${test.uuid}
*.properties

可以看出只要在properties节点配置了自定义属性即可在任意地方使用,形式如${x}。

当然除了在pom.xml使用自定义属性外,还可以在properties文件中使用,比如项目文件src/main/resources/jdbc.properties的文件,写入如下所示:

jdbc.driverClassName=${jdbc.driverClassName}jdbc.url=${jdbc.url}jdbc.username=${jdbc.username}jdbc.password=${jdbc.password}jdbc.validationQuery=${jdbc.validationQuery}

 

转载地址:http://mzfgx.baihongyu.com/

你可能感兴趣的文章
一点IT"边缘化"的人的思考
查看>>
Gallery循环滑动
查看>>
Sql与C#中日期格式转换总结
查看>>
iOS开发流程总结
查看>>
hadoop datanode 启动出错
查看>>
js颜色拾取器
查看>>
IDEA使用(1)intellIJ idea 配置 svn
查看>>
Thread Safety in Java(java中的线程安全)
查看>>
WPF 降低.net framework到4.0
查看>>
数据管理DMS 全量SQL诊断:你的SQL是健康的蓝色,还是危险的红色?
查看>>
搭建一个通用的脚手架
查看>>
开年巨制!千人千面回放技术让你“看到”Flutter用户侧问题
查看>>
开源磁盘加密软件VeraCrypt教程
查看>>
本地vs云:大数据厮杀的最终幸存者会是谁?
查看>>
阿里云公共镜像、自定义镜像、共享镜像和镜像市场的区别 ...
查看>>
shadowtunnel v1.7 发布:新增上级负载均衡支持独立密码
查看>>
IdleHandler,页面启动优化神器
查看>>
Java线程:什么是线程
查看>>
mysql5.7 创建一个超级管理员
查看>>
【框架整合】Maven-SpringMVC3.X+Spring3.X+MyBatis3-日志、JSON解析、表关联查询等均已配置好...
查看>>