In POM we can have ${project.version}
or special variables like ${project.basedir}
.
This example at the very end of Introduction to the POM accesses project.properties.mavenVersion
by just writing ${mavenVersion}
.
Why is that sufficient? I thought we need ${project.properties.mavenVersion}
.
In general, when are we allowed to access a variable without fully qualifying it using${project.xxx.variableName}
?
<project>
...
<properties>
<mavenVersion>2.1</mavenVersion> <----- variable defined here
</properties>
<dependencies>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-artifact</artifactId>
<version>${mavenVersion}</version> <----- variable accessed here
</dependency>
<dependency>
<groupId>org.apache.maven</groupId>
<artifactId>maven-project</artifactId>
<version>${mavenVersion}</version> <----- and here
</dependency>
</dependencies>
...
</project>
project.
is the recommended form to use for all project variables except user defined (<properties>
section) ones.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With