1.内置属性
1.1${basedir}
项目根目录。
1.2${version}
表示项目版本。
1.3${project.basedir}
同${basedir}
。
2.内置属性
2.1 ${project.xxx} 当前pom文件的任意节点的内容。
2.2 ${project.groupId} 项目的groupId。
2.3 ${project.artifactId} 项目的artifactId。
2.4 {project.version} 项目的version,同{version}。
2.5 ${project.build.directory} 构建目录,缺省为target。
2.6 {project.build.finalName} 产出物名称,缺省为{project.artifactId}-${project.version}。
2.7 ${project.build.sourceDirectory} 项目的主源码目录,默认为src/main/java/。
2.8 ${project.build.outputDirectory} 构建过程输出目录,缺省为target/classes。
2.9 ${project.build.testSourceDirectory} 项目的测试源码目录,默认为/src/test/java/。
2.9 ${project.build.testOutputDirectory} 项目测试代码编译输出目录,默认为target/testclasses/。
2.10 ${project.build.sourceEncoding} 表示主源码的编码格式。
2.11 ${project.reporting.outputEncoding}
3. settings.xml文件属性
与pom属性同理,用户可以用以settings.开头的属性引用setting.xml文件的XML元素值。例如:
${settings.localRepository} 表示本地仓库的地址
4. 系统属性
对应mvn help:system命令列出的System Properties。可以在maven中直接使用。例如:
${user.home} 表示用户目录
5. 环境变量
对应mvn help:system命令列出的Environment Variables。可以在maven中,添加env.前缀后使用。例如:
${env.JAVA_HOME}表示JAVA_HOME环境变量的值。
6. 自定义属性
在pom.xml文件的<properties>
标签下定义的maven属性
<project> ... <properties> <my.version>1.0</my.version> </properties> ... </project>
在其他地方就可以使用该自定义的属性了:
<project> ... <properties> <my.version>1.0</my.version> </properties> </dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-jdbc</artifactId> <version>${my.version}</version> </dependency> </dependencies> ... </project>
7.maven-compiler-plugin 属性
<project> [...] <properties> <!-- javac -source 1.8 --> <maven.compiler.source>1.8</maven.compiler.source> <!-- javac -target 1.8 --> <maven.compiler.target>1.8</maven.compiler.target> <!-- 编译时的编码 --> <maven.compiler.encoding>UTF-8</maven.compiler.encoding> </properties> [...] </project>