7.1 Maven 中的變量——屬性
經常遇到的參數 Maven 允許你放入變量中。當您需要匹配 pom 文件不同部分的參數時,這非常有用。例如,您可以將 Java 版本、庫版本、某些資源的路徑放入變量中。
為此,在 中有一個特殊的部分pom.xml – <properties>,其中聲明了變量。變量的一般形式如下:
<variable-name> _ _ _ _meaning< / variable name > _
例子:
<properties>
<junit.version>5.2</junit.version>
<project.artifactId>new-app</project.artifactId>
<maven.compiler.source>1.13</maven.compiler.source>
<maven.compiler.target>1.15</maven.compiler.target>
</properties>
使用不同的語法訪問變量:
$ { variable -name } _
在編寫此類代碼的地方,Maven 將替換變量的值。
例子:
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>${junit.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
<build>
<finalName>${project.artifactId}</finalName>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
<configuration>
<source>${maven.compiler.source}</source>
<target>${maven.compiler.target}</target>
</configuration>
</plugin>
</build>
7.2 Maven 中的預定義變量
在 pom 文件中描述項目時,可以使用預定義的變量。它們可以有條件地分為幾組:
- 內置項目屬性;
- 項目屬性;
- 設置。
只有兩個內置項目屬性:
| 財產 | 描述 |
|---|---|
| ${basedir} | 項目根目錄在哪裡pom.xml |
| ${版本} | 工件版本;可以使用${project.version}或${pom.version} |
«project»可以使用或前綴引用項目屬性«pom»。我們有四個:
| 財產 | 描述 |
|---|---|
| ${project.build.directory} | «target»項目目錄 |
| ${project.build.outputDirectory} | «target»編譯目錄。默認«target/classes» |
| ${項目名稱} | 項目名稱 |
| ${項目.版本} | 項目版本 |
settings.xml可以使用前綴訪問屬性settings。名稱可以是任何東西——它們取自settings.xml. 例子:
${settings.localRepository} sets the path to the local repository.
GO TO FULL VERSION