maven常用配置的变量

来源:互联网 发布:ubuntu进入root用户 编辑:程序博客网 时间:2024/04/19 20:55
1)内置属性 
Xml代码  收藏代码
  1. ${basedir} represents the directory containing pom.xml  
  2. ${version} equivalent to ${project.version} or ${pom.version}  


2)Pom/Project properties 
所有pom中的元素都可以用 project. 前缀进行引用,以下是部分常用的 
Xml代码  收藏代码
  1. ${project.build.directory } results in the path to your "target" dir, this is the same as ${pom.project.build.directory }  
  2. ${project.build. outputD irectory } results in the path to your "target/classes" dir  
  3. ${project.name } refers to the name of the project.  
  4. ${project.version } refers to the version of the project.  
  5. ${project.build.finalName } refers to the final name of the file created when the built project is packaged  


3)本地用户设定 
所有用的的 settings.xml 中的设定都可以通过 settings. 前缀进行引用 
Xml代码  收藏代码
  1. ${settings.localRepository } refers to the path of the user's local repository.  
  2. ${maven.repo.local } also works for backward compatibility with maven1 ??  


4)环境变量 
系统的环境变量通过 env. 前缀引用 
Xml代码  收藏代码
  1. ${env.M2_HOME } returns the Maven2 installation path.  
  2. ${java.home } specifies the path to the current JRE_HOME environment use with relative paths to get for example:   
  3. <jvm>${java.home}../bin/java.exe</jvm>  


5)java系统属性 
所有JVM中定义的java系统属性. 

6)用户在pom中定义的自定义属性 
Xml代码  收藏代码
  1. <project>   
  2.     ...   
  3.     <properties>   
  4.         <my.filter.value>hello</my.filter.value>   
  5.     </properties>   
  6.     ...   
  7. </project>  

则引用 ${my.filter.value } 就会得到值 hello 

7)上级工程的变量 
Xml代码  收藏代码
  1. 上级工程的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

来源: http://qiaolevip.iteye.com/blog/1816652

Maven共有6类属性:

内置属性(Maven预定义,用户可以直接使用)

${basedir}表示项目根目录,即包含pom.xml文件的目录;

${version}表示项目版本;

${project.basedir}同${basedir};

${project.baseUri}表示项目文件地址;

${maven.build.timestamp}表示项目构件开始时间;

${maven.build.timestamp.format}表示属性${maven.build.timestamp}的展示格式,默认值为yyyyMMdd-HHmm,可自定义其格式,其类型可参考java.text.SimpleDateFormat。用法如下:

<properties>

<maven.build.timestamp.format>yyyy-MM-dd HH:mm:ss</maven.build.timestamp.format>

</properties>

 

POM属性(使用pom属性可以引用到pom.xml文件对应元素的值)

${project.build.directory}表示主源码路径;

${project.build.sourceEncoding}表示主源码的编码格式;

${project.build.sourceDirectory}表示主源码路径;

${project.build.finalName}表示输出文件名称;

${project.version}表示项目版本,与${version}相同;

 

自定义属性(在pom.xml文件的<properties>标签下定义的Maven属性)

<project>

  <properties>

    <my.pro>abc</my.pro>

  </properties>

</project>

在其他地方使用${my.pro}使用该属性值。

 

settings.xml文件属性(与pom属性同理,用户使用以settings.开头的属性引用settings.xml文件中的XML元素值)

${settings.localRepository}表示本地仓库的地址;

 

Java系统属性(所有的Java系统属性都可以使用Maven属性引用)

使用mvn help:system命令可查看所有的Java系统属性;

System.getProperties()可得到所有的Java属性;

${user.home}表示用户目录;

 

环境变量属性(所有的环境变量都可以用以env.开头的Maven属性引用)

使用mvn help:system命令可查看所有环境变量;

${env.JAVA_HOME}表示JAVA_HOME环境变量的值;

0 0
原创粉丝点击