7.1 Променливи в Maven - свойства
Често срещани параметри Maven ви позволява да поставите в променливи. Това е много полезно, когато трябва да съпоставите параметрите в различни части на pom file. Например, можете да поставите versionта на 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 } _
Когато е написан такъв code, 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 |
| ${version} | version на артефакт; може да се използва ${project.version}or${pom.version} |
Свойствата на проекта могат да бъдат посочени с помощта на префиксите «project»or «pom». Имаме четири от тях:
| Имот | Описание |
|---|---|
| ${project.build.directory} | «target»директория на проекта |
| ${project.build.outputDirectory} | «target»директория на компилатора. По подразбиране«target/classes» |
| ${project.name} | име на проекта |
| ${project.version} | version на проекта |
Свойствата settings.xmlмогат да бъдат достъпни чрез префикса settings. Имената могат да бъдат всяHowви - взети са от settings.xml. Пример:
${settings.localRepository} sets the path to the local repository.
GO TO FULL VERSION