maven的变量
maven定义了很多变量属性,参考这里
1)内置属性
Xml代码
- ${basedir} represents the directory containing pom.xml
- ${version} equivalent to ${project.version} or ${pom.version}
2)Pom/Project properties
所有pom中的元素都可以用 project. 前缀进行引用,以下是部分常用的
Xml代码
- ${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 } refers to the name of the project.
- ${project.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
3)本地用户设定
所有用的的 settings.xml 中的设定都可以通过 settings. 前缀进行引用
Xml代码
- ${settings.localRepository } refers to the path of the user's local repository.
- ${maven.repo.local } also works for backward compatibility with maven1 ??
4)环境变量
系统的环境变量通过 env. 前缀引用
Xml代码
- ${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>
5)java系统属性
所有JVM中定义的java系统属性.
6)用户在pom中定义的自定义属性
Xml代码
- <project>
- ...
- <properties>
- <my.filter.value>hello</my.filter.value>
- </properties>
- ...
- </project>
则引用 ${my.filter.value } 就会得到值 hello
7)上级工程的变量
Xml代码
- 上级工程的pom中的变量用前缀 ${project.parent } 引用. 上级工程的版本也可以这样引用: ${parent.version }.maven的变量
8)引用属性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().
汇总变量列表:
* project (from [1])
o project.distributionManagementArtifactRepository
o project.artifact
o project.parent
o project.file
o project.artifacts
o project.parentArtifact
o project.pluginArtifacts
o project.remoteArtifactRepositories
o project.pluginArtifactRepositories
o project.attachedArtifact
* settings (from [2])
o settings.offilne
o settings.interactive
* rootless (from [3])
o localRepository
o reactorProjects
* java properties (from [4])
o java.version
o java.vendor
o java.vendor.url
o java.home
o java.vm.specification.version
o java.vm.specification.vendor
o java.vm.specification.name
o java.vm.version
o java.vm.vendor
o java.vm.name
o java.specification.version
o java.specification.vendor
o java.specification.name
o java.class.version
o java.class.path
o java.library.path
o java.io.tmpdir
o java.compiler
o java.ext.dirs
o os.name
o os.arch
o os.version
o file.separator
o path.separator
o line.separator
o user.name
o user.home
o user.dir