Maven内置隐式变量
引自:https://www.geek-share.com/detail/2607667882.html
Maven提供了三个隐式的变量可以用来访问环境变量,POM信息,和Maven Settings。
env
env变量,暴露了你操作系统或者shell的环境变量。便 如在Maven POM中一个对${env.PATH}的引用将会被${PATH}环境变量替换,在Windows中为%PATH%.
通过mvn help:system可以查看所有的系统属性和环境变量。
project
project变量暴露了POM。可以使用点标记(.)的路径来引用POM元素的值。例如超级POM中的一段如下:
<build> <directory>${project.basedir}/target</directory> <outputDirectory>${project.build.directory}/classes</outputDirectory> <finalName>${project.artifactId}-${project.version}</finalName> <testOutputDirectory>${project.build.directory}/test-classes</testOutputDirectory> <sourceDirectory>${project.basedir}/src/main/java</sourceDirectory> <scriptSourceDirectory>${project.basedir}/src/main/scripts</scriptSourceDirectory> <testSourceDirectory>${project.basedir}/src/test/java</testSourceDirectory> <resources> <resource> <directory>${project.basedir}/src/main/resources</directory> </resource> </resources> <testResources> <testResource> <directory>${project.basedir}/src/test/resources</directory> </testResource> </testResources> ... </build>
除了${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内置隐式变量
- Maven内置隐式变量(转)
- Maven内置隐式变量
- Maven内置隐式变量
- Maven内置隐式变量
- Maven内置隐式变量
- Maven内置隐式变量[转]
- Maven 内置变量
- Maven 缺省内置变量
- maven中的隐式变量
- 学习笔记——Maven 内置变量
- Maven内置变量说明
- Maven隐式变量和依赖其他Maven项目
- Maven隐式变量
- 学习笔记——Maven 内置变量
- Maven学习笔记(一)——自定义maven变量以及maven内置常量
- 学习笔记——Maven 内置变量
- Maven学习笔记(一)——自定义maven变量以及maven内置常量
- 自定义maven变量以及maven内置常量整理
- maven使用之maven项目之间引用及内置变量