Python 官方文档:入门教程 => 点击学习
目录一、parent依赖管理二、dependencyManagement 依赖管理三、实例分析单一模块情况多模块情况父模块 pom.xml子模块 pom.xml四、propertie
作用:定位父项目的坐标标签,子项目可以直接继承父项目的依赖包,实现所有子项目共用相同的依赖包。
举例:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.1.4.RELEASE</version>
</parent>
作用:父子项目依赖的版本管理。
需要注意的是:
<!--只是对版本号进行管理,不会实际引入jar-->
<dependencyManagement>
<dependencies>
<dependency>
<!--jar包身份限定-->
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<!--版本号的声明-->
<version>3.2.7</version>
</dependency>
</dependencies>
</dependencyManagement>
<!--会实际下载声明的依赖jar包-->
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<!--不声明version 标签,则会继承dependencyManagement-->
</dependency>
</dependencies>
<!--parent-module父模块pom.xml-->
<properties>
<!--统一管理jar包版本。集中在父模块properties标签中定义所有依赖的版本号。-->
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
<org.eclipse.persistence.jpa.version>1.2.6</org.eclipse.persistence.jpa.version>
<javaee-api.version>1.8</javaee-api.version>
</properties>
<dependencyManagement>
<!--定义公共依赖的版本号-->
<dependencies>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa</artifactId>
<version>${org.eclipse.persistence.jpa.version}</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<version>${javaee-api.version}</version>
</dependency>
</dependencies>
</dependencyManagement>
<!--son-module子模块pom.xml-->
<!--继承父类-->
<parent>
<!--声明父类的身份信息-->
<artifactId>parent-module</artifactId>
<groupId>com.ppd</groupId>
<version>0.0.1-SNAPSHOT</version>
<!--声明父类的pom文件路径-->
<relativePath>../parent-module/pom.xml</relativePath>
</parent>
<modelVersion>4.0.0</modelVersion>
<artifactId>son-module</artifactId>
<packaging>ejb</packaging>
<!--依赖关系-->
<dependencies>
<dependency>
<groupId>javax</groupId>
<artifactId>javaee-api</artifactId>
<!--未声明则继承父类version、scope-->
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-annotations</artifactId>
<!--声明则不继承父类version-->
<version>1.8<version/>
<!--继承父类scope-->
</dependency>
<dependency>
<groupId>org.eclipse.persistence</groupId>
<artifactId>org.eclipse.persistence.jpa</artifactId>
<!--未声明则继承父类version-->
<scope>provided</scope>
</dependency>
</dependencies>
作用:在pom.xml中的properties标签下声明相应的版本信息,然后在dependency下引用的时候用${spring-version}就可以引入该版本jar包了。
举例:
<properties>
<spring-version>4.3.7.RELEASE</spring-version>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${spring-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-WEB</artifactId>
<version>${spring-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring-version}</version>
</dependency>
</dependencies>
到此这篇关于Maven依赖管理之parent与dependencyManagement深入分析的文章就介绍到这了,更多相关Maven parent与dependencyManagement内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!
--结束END--
本文标题: Maven依赖管理之parent与dependencyManagement深入分析
本文链接: https://www.lsjlt.com/news/169583.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0