maven 内置属性有哪些?该如何使用?
maven 共有6类内置属性:
内置属性(maven预定义,用户可以直接使用的)
${basedir}表示项目的根目录,既包含pom.xml文件的目录;
${version}表示项目版本;
${project.basedir}同${basedir};
${project.baseUri}表示项目文件地址;
${maven.build.timestamp}表示项目构建时间;
${maven.build.timestamp.format}表示属性${maven.build.timestamp}的展示格式,默认值为yyyyMMdd-HHmm,可自定义格式,其类型可参考java.text.SimpleDateFormt。用法如下:
<properties> <maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format> </properties>
POM属性(使用pom属性可以引用到pom.xml文件对应的元素的值)
${project.build.directory}表示主源码路径;
${project.build.sourceEncoding}表示主源码的编码格式
${project.build.sourceDirectory}表示主源码的路径
${project.build.finalName}表示输出文件名称;
${project.vesion}表示项目版本,与${version}相同
自定义属性(在pom.xml文件的<properties>标签下定义的maven属性)
<project> <properties> <my.pro>proname</my.pro> </properties> </project>
在其他地方就可以使用该自定义的属性了:
<dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${proname}</version> </dependency>
setting.xml文件属性(与pom属性同理,用户可以用以settings.开头的属性引用setting.xml文件的XML元素值)
${settings.localRepository}表示本地仓库的地址
java系统属性(所有的java系统属性都可以用env,开头的maven属性引用)
使用mvn help:system命令可查看所有环境变量;
${env.JAVA_HOME}表示JAVA_HOME环境变量的值;
参考如下:
http://maven.apache.org/guides/introduction/introduction-to-the-pom.html