Maven内置隐式变量

阅读更多

引自:http://blog.csdn.net/xh16319/article/details/22981051

 

Maven提供了三个隐式的变量可以用来访问环境变量,POM信息,和Maven Settings。

 

env

 

env变量,暴露了你操作系统或者shell的环境变量。便 如在Maven POM中一个对${env.PATH}的引用将会被${PATH}环境变量替换,在Windows中为%PATH%.

通过mvn help:system可以查看所有的系统属性和环境变量。

 

project

 

project变量暴露了POM。可以使用点标记(.)的路径来引用POM元素的值。例如超级POM中的一段如下:

 


    ${project.basedir}/target
    ${project.build.directory}/classes
    ${project.artifactId}-${project.version}
    ${project.build.directory}/test-classes
    ${project.basedir}/src/main/java
    ${project.basedir}/src/main/scripts
    ${project.basedir}/src/test/java
    
      
        ${project.basedir}/src/main/resources
      
    
    
      
        ${project.basedir}/src/test/resources
      
    
   ...

 除了${project.basedir}隐式定义为项目根目录外,project可以引用pom.xml中的任意元素的值。比如

${project.build.directory}引用的是build元素下的directory子元素的内容。

 

超级POM中约定了项目的结构目录,这些变量将被所有自定义pom继承,在你的项目下使用mvn help:effective-pom,可以看到这些值都被继承了。

 

我们也可以在pom中直接引用这些值:

${project.basedir} 项目根目录

${project.build.directory} 构建目录,缺省为target

${project.build.outputDirectory} 主代码输出目录,缺省为target/classes

${project.build.sourceDirectory} 源代码目录,缺少为src/main/java

${project.build.finalName} 产出物名称,缺省为${project.artifactId}-${project.version}

 

 

settings

 

settings变量暴露了Maven settings信息。可以使用点标记(.)的路径来引用settings.xml文件中元素的值。例如${settings.offline}会引用~/.m2/settings.xml文件中offline元素的值

  • Maven内置隐式变量_第1张图片
  • 大小: 51.9 KB
  • Maven内置隐式变量_第2张图片
  • 大小: 101.3 KB
  • Maven内置隐式变量_第3张图片
  • 大小: 65.2 KB
  • Maven内置隐式变量_第4张图片
  • 大小: 52.2 KB
  • Maven内置隐式变量_第5张图片
  • 大小: 93.8 KB
  • Maven内置隐式变量_第6张图片
  • 大小: 65.3 KB
  • Maven内置隐式变量_第7张图片
  • 大小: 74.1 KB
  • Maven内置隐式变量_第8张图片
  • 大小: 10.8 KB
  • 查看图片附件

你可能感兴趣的:(Maven内置隐式变量)