Maven中的内置变量
注:只是记录,方便查阅。
Build
-
${version
} 版本
-
${basedir
} 项目根目录(包含pom.xml文件的目录)
Project
-
${project.build.directory
} results in the path to your "target" dir, this is the same as${pom.project.build.directory
} -
${project.build.
outputD
irectory
}
results in the path to your "target/classes" dir -
${project.name
} or${pom.name
} refers to the name of the project. -
${project.version
} or${pom.version
} refers to the version of the project. -
${project.build.finalName
} refers to the final name of the file created when the built project is packaged - ${project.packaging}package type, eg:jar, war
Local user settings
Similarly, values in the user's settings.xml can be referenced using property names with settings.
prefix.
-
${settings.localRepository
} refers to the path of the user's local repository
Environment variables
Environment variables can be referenced using the env
prefix
-
${env.M2_HOME
} returns the Maven2 installation path. -
${java.home
} specifies the path to the current JRE_HOME environment use with relative paths to get for example:<jvm>${java.home}../bin/java.exe</jvm>
Java system properties
All Java System Properties defined by the JVM.
Custom properties in the POM
User defined properties in the pom.xml.
<project>
...
<properties>
<my.filter.value>hello</my.filter.value>
</properties>
...
</project>
|
-
${my.filter.value
} will result inhello
if you inserted the above XML fragment in your pom.xml
Parent Project variables
How can parent project variables be accessed?
You can use the prefix: ${project.parent
}.
A good way to determine possible variables is to have a look directly at the API. I'm currently using Maven 2.2.1, and to access the Parent you can use ${project.parent
}. This will return an org.apache.maven.project.MavenProject instance.
To access the parent version: ${parent.version
}.
Reflection Properties
The pattern ${someX.someY.someZ
} can simply sometimes mean getSomeX().getSomeY().getSomeZ()
. Thus, properties such as ${project.build.directory
} is translated to getProject().getBuild().getDirectory()
.