您的位置:首页 > 编程语言 > Java开发

SpringBoot中maven的parent标签的来源与详解(二)

2020-01-14 12:57 239 查看

maven中出现parent标签,指的是有一个父的pom项目,其中已经加载了很多必须的dependency,还有可选的dependency如下图

因为parent的pom有自定义的spring-boot-starter-web,所以下面的dependency不用写version号

 

下面以一个完整的例子讲述

项目结构:

1.首先创建一个名为parent的Maven项目,因为是作为一个maven的父pom,所以选择quickstart的jar即可,然后一直next

把不必要的main包都删掉,同时把pom.xml的内容都删去

下面是parent的pom.xml模拟

[code]<?xml version="1.0" encoding="UTF-8"?>

<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.demo</groupId>
<artifactId>parent</artifactId>
<version>1.0.0</version>
<packaging>pom</packaging>

<!--  子项目必有依赖-->
<dependencies>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.16.6</version>
</dependency>
</dependencies>

<!--  子项目可选依赖,此时子项目导入该包时不需要写版本号-->
<dependencyManagement>
<dependencies>
<dependency>
<groupId>MyRepository.org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>4.2.4-RELEASE</version>
</dependency>
</dependencies>
</dependencyManagement>

</project>

然后创建另一个关于web的maven项目(websize),因为是web相关的,因此选择webapp来创建

在websize的pom.xml中加入parent依赖,此时会自动加载parent的<dependencies>的包,而<dependencyManagement>中的<dependencies>为可选包,不会在websize中导入,除非自己导入,同时导入时不需要写版本号都行。

下面是websize的pom.xml

[code]<?xml version="1.0" encoding="UTF-8"?>

<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.demo</groupId>
<artifactId>websize</artifactId>
<version>1.0.0</version>
<packaging>war</packaging>

<parent>
<groupId>com.demo</groupId>
<artifactId>parent</artifactId>
<version>1.0.0</version>
</parent>

<!--<dependencies>
<dependency>
&lt;!&ndash;因为parent项目有此可选依赖,所以不需要写版本号&ndash;&gt;
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
</dependency>
</dependencies>-->

</project>

点击左边maven

成功!

 

  • 点赞
  • 收藏
  • 分享
  • 文章举报
风吹底裤飘 发布了42 篇原创文章 · 获赞 2 · 访问量 191 私信 关注
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: