`

Maven内置隐式变量

 
阅读更多


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

env

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

projetc

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

<project>
<modelVersion>4.0.0</modelVersion>
<groupId>org.sonatype.mavenbook</groupId>
<artifactId>project-a</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>jar</packaging>
<build>
<finalName>${project.groupId}-${project.artifactId}</finalName>
</build>
</project>

当你使用mvn help:effective-pom 查看时,你会看到<finalName>org.sonatype.mavenbook-project-a</finalName>

 

  • ${basedir} 项目根目录
  • ${project.build.directory} 构建目录,缺省为target
  • ${project.build.outputDirectory} 构建过程输出目录,缺省为target/classes
  • ${project.build.finalName} 产出物名称,缺省为${project.artifactId}-${project.version}
  • ${project.packaging} 打包类型,缺省为jar
  • ${project.xxx} 当前pom文件的任意节点的内容
  •  

     

    settings

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

    分享到:
    评论

    相关推荐

      selenium-Java-2.53.1

      1. **安装与配置**: 使用Selenium-Java-2.53.1之前,需要先安装JDK并配置好环境变量。然后下载Selenium Java Client库,将其添加到项目构建路径中,例如Maven或Gradle的依赖库。 2. **WebDriver**: Selenium的核心...

      The-different-between-java-and-cSharp.zip_between

      - **类型系统**:Java是强类型语言,变量必须先声明类型再使用;C#同样如此,但C#引入了“var”关键字,允许隐式类型推断。 - **命名规则**:两者都遵循驼峰命名法,但Java强制方法名首字母小写,而C#允许整个方法...

      java-repository

      1. **基础语法**:Java是一种静态类型的面向对象编程语言,它的基础语法包括变量声明、数据类型、运算符、控制流(如if语句、for循环和while循环)、方法定义等。 2. **类与对象**:面向对象编程是Java的核心,理解...

      JavaPrograms:Java程序学习

      14. **Maven项目管理工具**:Maven是Java项目构建和依赖管理的工具,通过配置XML文件来管理项目构建、报告和依赖关系。 15. **JUnit测试**:JUnit是Java的一个单元测试框架,帮助开发者编写和运行可重复的测试用例...

      Java_Praxis:Java代码实践

      14. **Maven/Gradle**: Maven和Gradle是Java项目构建工具,管理项目的依赖关系,自动化构建过程,提高开发效率。 以上就是Java编程中的一些核心知识点,"Java_Praxis:Java代码实践"很可能包含了这些主题的示例代码...

      java-playground

      11. **Maven或Gradle构建**:如果项目使用了Maven或Gradle作为构建工具,那么你将了解到如何管理依赖和构建工件。 12. **Javadoc**:高质量的代码通常会配有Javadoc注释,用于解释类、方法和其他API元素的功能和...

      ex1

      7. **多线程**:Java内置了对多线程的支持,可以创建Thread类的实例或者实现Runnable接口来开启新线程,进行并发执行。 8. **接口**:接口定义了一组方法签名,类可以实现接口以强制实现这些方法。接口在Java中常...

      JavaMag

      1. **基础语法**:包括变量、数据类型(如基本类型和引用类型)、运算符、控制流(如if语句、for循环、while循环)、异常处理等。 2. **类与对象**:这是面向对象编程的基础,涉及到类的定义、对象的创建、封装、...

      ZSE_praktyki

      1. **基础语法**:包括变量声明、数据类型、运算符、流程控制(如if语句、for循环和while循环)以及方法定义。这些都是构建任何程序的基础。 2. **类与对象**:Java是一种面向对象的语言,理解类的定义、对象的创建...

      ITC-7片段

      它包括变量、数据类型(如int、float、boolean等)、控制结构(如if语句、for循环、while循环)、类和对象、继承、封装和多态等概念。 3. **类和对象**:在Java中,一切皆为对象。类是创建对象的模板,包含数据...

      Pb2eva0320202CMartinezLaura34148438

      1. **基础语法**:Java是一种面向对象的语言,它的基础包括变量、数据类型、运算符、控制流(如if语句、for循环、while循环)、方法定义和调用等。 2. **类与对象**:Java的核心是面向对象编程,类是对象的模板,...

    Global site tag (gtag.js) - Google Analytics