maven中父子项目之间联系

"本文介绍了Maven项目的基本结构,包括最小POM文件的组成,如groupId、artifactId和version。同时阐述了如何通过parent标签实现子项目继承父项目,以及通过module标签在父项目中引入子项目。此外,还讲解了如何在POM中定义和使用变量,通过properties标签定义变量,并在dependencies中使用${变量}
摘要由CSDN通过智能技术生成

Minimal POM

最小结构的pom文件:

<project>
  <modelVersion>4.0.0</modelVersion>
 
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <version>1</version>
</project>

groupId

项目目录

artifactId

项目Id

version

项目版本

子项目继承父项目

案例:

1、项目结构

|-- my-module
 |   `-- pom.xml
 `-- pom.xml

2、父项目pom

<project>
 <modelVersion>4.0.0</modelVersion>

 <groupId>com.mycompany.app</groupId>
 <artifactId>my-module</artifactId>
 <version>1</version>
</project>

3、子项目pom

<project>
  <modelVersion>4.0.0</modelVersion>
 
 //通过<parent>标签引入父项目
  <parent>
    <groupId>com.mycompany.app</groupId>
    <artifactId>my-app</artifactId>
    <version>1</version>
    //父项目相对于子项目的相对路径
    <relativePath>../</relativePath>
  </parent>
 
 //当子项目groupId和version同父项目相同时,
 //可省略groupId和version标签
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-module</artifactId>
  <version>1</version>
</project>

4、总结

子项目引入父项目通过parent标签,当子项目groupId和version同父项目相同时可省略。

父项目引入子项目

案例:

1、项目结构

|-- my-module
 |   `-- pom.xml
 `-- pom.xml

2、子项目

<project>
  <modelVersion>4.0.0</modelVersion>
 
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-module</artifactId>
  <version>1</version>
</project>

3、父项目

<project>
  <modelVersion>4.0.0</modelVersion>
 
  <groupId>com.mycompany.app</groupId>
  <artifactId>my-app</artifactId>
  <version>1</version>
  <packaging>pom</packaging>
 
 //父项目通过module标签引入子项目
  <modules>
    <module>my-module</module>
  </modules>
</project>

结论

父项目引入子项目通过module标签引入。
当父子项目之间均需要引用时,父项目使用module标签,子项目使用parent标签引入即可。

pom中定义与使用变量

1、定义变量

案例:

<project>
  ...
  <properties>
    <version>1.8</version>
  </properties>
  ...
</project>

2、使用变量

案例:

<project>
  ...
  <dependencies>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-artifact</artifactId>
      <version>${version}</version>
    </dependency>
    <dependency>
      <groupId>org.apache.maven</groupId>
      <artifactId>maven-core</artifactId>
      <version>${version}</version>
    </dependency>
  </dependencies>
  ...
</project>

3、结论

定义变量使用:properties标签+自定义子标签实现
使用变量:${自定义标签名}
父项目定义的变量,子项目可继承使用。
子项目再次定义父项目已存在变量,代表重写变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值