I have found some sample maven pom.xml files that use "built-in" properties to specify the versions for logj42 and lombok. However, I cannot find where these properties are documented? If I didn't know I could use these properties, where could I look to see what "custom" properties are supported by a given package?
How can I find that log4j2 supports a "log4j2.version" property and lombok supports a "lombok.version" property? These are part of a Spring Boot application, are these properties associated with Spring Boot?
Example:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.6.1</version>
<relativePath/>
</parent>
<properties>
<lombok.version>1.18.10</lombok.version>
<log4j2.version>2.15.0</log4j2.version>
</properties>
CodePudding user response:
The properties lombok.version
and log4j2.version
have no special meaning for Maven nor any of its plugins.
These properties are defined in the parent POM (spring-boot-dependencies
) of your parent project (spring-boot-starter-parent
) and are used to perform variable substitutions of the form ${log4j2.version}
in the same file.
Download the spring-boot-dependencies
POM file to see the names of hundreds of other properties defined in that file. As you already noticed, you can override their value in your own pom.xml
.