Maven提供了三個隱式的變量可以用來訪問環境變量,POM信息,和Maven Settings
env
env變量,暴露了你操作系統或者shell的環境變量。便 如在Maven POM中一個對${env.PATH}的引用將會被${PATH}環境變量替換,在Windows中為%PATH%.
projetc
project變量暴露了POM。可以使用點標記(.)的路徑來引用POM元素的值。例如
<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.sonatype.mavenbook</groupId>
<artifactId>project-a</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<build>
<finalName>${project.groupId}-${project.artifactId}</finalName>
</build>
</project>
當你使用mvn help:effective-pom 查看時,你會看到<finalName>org.sonatype.mavenbook-project-a</finalName>
- ${basedir} 項目根目錄
- ${project.build.directory} 構建目錄,缺省為target
- ${project.build.outputDirectory} 構建過程輸出目錄,缺省為target/classes
- ${project.build.finalName} 產出物名稱,缺省為${project.artifactId}-${project.version}
- ${project.packaging} 打包類型,缺省為jar
- ${project.xxx} 當前pom文件的任意節點的內容
settings
settings變量暴露了Maven settings信息。可以使用點標記(.)的路徑來引用settings.xml文件中元素的值。例如${settings.offline}會引用~/.m2/settings.xml文件中offline元素的值。