Maven内置属性

     有时候在看一些开源框架的配置文件(如swagger2)时,有些莫名其妙的属性不知道说的哪个文件夹,特查询资料做个总结,方便以后自己查阅。

Maven属性

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

      主要有两个常用内置属性:

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

      ${version}表示项目版本

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

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

${project.build.sourceDirectory}:项目的主源码目录,默认为src/main/java/.
${project.build.testSourceDirectory}:项目的测试源码目录,默认为/src/test/java/.
${project.build.directory}:项目构建输出目录,默认为target/.
${project.outputDirectory}:项目主代码编译输出目录,默认为target/classes/.
${project.testOutputDirectory}:项目测试代码编译输出目录,默认为target/testclasses/.
${project.groupId}:项目的groupId.
${project.artifactId}:项目的artifactId.
${project.version}:项目的version,等价于${version}
${project.build.finalName}:项目打包输出文件的名称,默认为${project.artifactId}${project.version}.

自定义属性

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

<project>
   <properties>
      <my.pro>proname</my.pro>
   </properties>
</project>

在其他地方用${my.pro}使用该自定义的属性,相当于${my.pro}是一个变量,而proname是变量指向的那个值。

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-jdbc</artifactId>
    <version>${my.pro}</version>
</dependency>

setting.xml文件属性

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

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

java系统属性

(所有的java系统属性都可以用env,开头的maven属性引用)

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

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

posted @ 2018-10-21 19:58  陈旭园  阅读(21)  评论(0)    收藏  举报  来源