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