Maven(二) 属性 properties

属性

通过元素用户可以自定义一个或多个Maven属性,然后在POM的其他地方使用${属性名}的方式引用该属性,这种做法的最大意义在于消除重复和统一管理。

Maven总共有6类属性,内置属性、POM属性、自定义属性、Settings属性、java系统属性和环境变量属性;
1.内置属性

两个常用内置属性 b a s e d i r 表 示 项 目 根 目 录 , 即 包 含 p o m . x m l 文 件 的 目 录 ; ‘ {basedir} 表示项目根目录,即包含pom.xml文件的目录;` basedirpom.xml{version}` 表示项目版本

2.POM属性
  用户可以使用该类属性引用POM文件中对应元素的值。如${project.artifactId}就对应了 元素的值,常用的POM属性包括:

${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,与 v e r s i o n 等 价 ‘ {version} 等价 ` version{project.build.finalName}`:项目打包输出文件的名称,默认为 p r o j e c t . a r t i f a c t I d − {project.artifactId}- project.artifactId{project.version}

3.自定义属性

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>

  <groupId>com.youzhibing.account</groupId>
  <artifactId>account-aggregator</artifactId>
  <version>1.0.0-SNAPSHOT</version>
  <packaging>pom</packaging>

  <name>Account Aggrregator</name>
  <url>http://maven.apache.org</url>
  
  <modules>
      <!-- 模块都写在此处 -->
      <module>account-register</module>
      <module>account-persist</module>
      <module>account-another</module>
  </modules>
  
  <properties>
      <!-- 定义 spring版本号 -->
    <junit.version>4.7</junit.version>
  </properties>
  
  <dependencyManagement>
      <dependencies> <!-- 配置共有依赖 -->
    
      <!-- junit 依赖 -->
      <dependency>
      <groupId>junit</groupId>
      <artifactId>junit</artifactId>
      <version>${junit.version}</version>
      <scope>test</scope>
    </dependency>
  </dependencies>
  </dependencyManagement>
</project>

4.Settings属性

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

5.Java系统属性

所有java系统属性都可以用Maven属性引用,如${user.home}指向了用户目录。

6.环境变量属性

所有环境变量属性都可以使用以env. 开头的Maven属性引用,如${env.JAVA_HOME}指代了JAVA_HOME环境变量的的值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值