Maven中的变量和属性
1、内置属性
内置属性是Maven预定义的,用户可以直接使用,内置属性如下:
${basedir} 表示项目根目录,即包含pom.xml文件的目录
${version} 表示项目版本
${project.basedir} 同${basedir}
${project.baseUri} 表示项目文件地址
${maven.build.timestamp} 表示项目构件开始时间
${maven.build.timestamp.format} 表示属性${maven.build.timestamp}的展示格式,默认值为yyyyMMdd-HHmm
可通过如下方式自定义其格式,其类型可参考java.text.SimpleDateFormat。
<properties>
<maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format>
</properties>2、POM属性
使用pom属性可以引用到pom.xml文件对应元素的值
${project.build.directory} 表示主源码路径;
${project.build.sourceEncoding} 表示主源码的编码格式;
${project.build.sourceDirectory} 表示主源码路径;
${project.build.finalName} 表示输出文件名称;
${project.version} 表示项目版本,与${version}相同;3、自定义属性
是指在pom.xml文件的<properties>标签下定义的Maven属性
这样就可以在其他地方用${my.pro}使用该属性值。
4、系统属性和环境变量属性
所有的系统属性都可以使用Maven属性引用,比如${user.home}表示用户主目录。
所有的环境变量都可以用以env.开头的Maven属性引用,比如${env.JAVA_HOME}表示JAVA_HOME环境变量的值。
小技巧1:使用mvn help:system命令查看所有属性
小技巧2:Java代码中使用System.getProperties()可得到所有的属性
5、settings.xml文件属性
与pom属性同理,用户使用以settings.开头的属性引用settings.xml文件中的XML元素值,比如${settings.localRepository}表示本地仓库的地址。
Last updated