当前位置: 首页 > news >正文

北外网院网站建设作业公司网站建设北京

北外网院网站建设作业,公司网站建设北京,做网站跟赚钱嘛,西安php网站建设将多个springboot项目的pom.xml文件整合 0.0、前因 ​ 刚入公司敲代码时、发现一个项目中会包含多个子项目、每个子项目会代表一个功能模块、这属实是把我这个菜鸟惊叹到了。而这种分而治之的方式也引申出一个问题:各子项目的依赖如何统一管理? ​ 我…

将多个springboot项目的pom.xml文件整合

0.0、前因

​ 刚入公司敲代码时、发现一个项目中会包含多个子项目、每个子项目会代表一个功能模块、这属实是把我这个菜鸟惊叹到了。而这种分而治之的方式也引申出一个问题:各子项目的依赖如何统一管理?

​ 我们知道、每个项目都会导入特定依赖、每个依赖又有若干版本、如果在这个项目使用这个版本、那个项目使用那个版本、是很容易造成混乱和版本冲突的。因此可将依赖分为父子关系。即一个父依赖管理若干个子依赖。

直接上代码:

父依赖:

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.11</version><relativePath/> <!-- lookup parent from repository --></parent><groupId>com.hcgx-root</groupId><artifactId>hcgx-root</artifactId><version>0.0.1-SNAPSHOT</version><packaging>pom</packaging><modules><module>hcgx-service</module></modules><properties><java.version>1.8</java.version><mysql-connector.version>8.0.20</mysql-connector.version><maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version></properties><dependencyManagement><dependencies><!--Mysql数据库驱动--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql-connector.version}</version></dependency></dependencies></dependencyManagement><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>${maven-compiler-plugin.version}</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

1、这玩意是啥?

首先:parent 意思可以理解为继承、整体意思是此xml会继承spring-boot-starter-parent文件中所有的依赖、相当于继承父依赖。而且这玩意是每一个springboot初始化时都存在的、它是springboot自动帮我们配置的。为的就是省略我们在创建sping项目时一些共有依赖

<parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.6.11</version><relativePath/> <!-- lookup parent from repository -->
</parent>

2、表示maven版本、必须填4.0.0才能使用多maven项目整合

 <modelVersion>4.0.0</modelVersion>

3、此xml文件的名称、后面与子项目关联时是用到

<groupId>com.hcgx-root</groupId>
<artifactId>hcgx-root</artifactId>
<version>0.0.1-SNAPSHOT</version>

4、打包方式、默认会打包成 jar、因为父项目只是用来统筹子项目的依赖所以设置为pom,表示不动它。

每一个pom.xml文件都代表一个maven项目、需要结合此文件将项目打成jar包、而将程序打成jar包的目的是因为项目中有java代码且这些代码需要用到这些依赖、而父项目中已经将 src 目录删除了、不考虑其内的子项目、那么是没有理由需要被打成jar包(子项目自己有pom.xml文件把自己打成 jar 包)

 <packaging>pom</packaging>

5、用来关联子项目名称、hcgx-service就是子项目的名称(属实是双向奔赴)

<modules><module>hcgx-service</module>
</modules>

6、此标签内管理依赖版本、mysql-connector.version是自定义的标签,使用时${mysql-connector.version}来使用对应标签下的版本号(注:版本号一定是真实存在的不然使用自定义标签时会爆红)

<properties><java.version>1.8</java.version><mysql-connector.version>8.0.20</mysql-connector.version><maven-compiler-plugin.version>3.8.1</maven-compiler-plugin.version>
</properties>

7、dependencyManagement 标签表示模板、正常情况下直接使用 dependencies(即最外层没有dependencyManagement),表示导入此依赖、而dependencyManagement标签只是作为一个依赖模板、 <version>${mysql-connector.version}</version>存储这个依赖模板的版本号,后面子项目直接使用:

<dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId>
</dependency>

就可以导入依赖,且不需要指定依赖版本。

<dependencyManagement><dependencies><!--Mysql数据库驱动--><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>${mysql-connector.version}</version></dependency></dependencies></dependencyManagement>

8、dependencies 在父项目中导入的依赖会被所有子项目默认导入

    <dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-test</artifactId><scope>test</scope></dependency></dependencies>

子项目:

<?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 https://maven.apache.org/xsd/maven-4.0.0.xsd"><modelVersion>4.0.0</modelVersion><parent><groupId>com.hcgx-root</groupId><artifactId>hcgx-root</artifactId><version>0.0.1-SNAPSHOT</version></parent><groupId>com.hcgx-service</groupId><artifactId>hcgx-service</artifactId><version>0.0.1-SNAPSHOT</version><name>hcgx-service</name><description>Demo project for Spring Boot</description><properties><java.version>1.8</java.version></properties><dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency></dependencies><build><plugins><plugin><groupId>org.apache.maven.plugins</groupId><artifactId>maven-compiler-plugin</artifactId><version>${maven-compiler-plugin.version}</version><configuration><source>1.8</source><target>1.8</target><encoding>UTF-8</encoding></configuration></plugin><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

1、parent 标签里面是用来描述需要继承的对象、即使用此标签后我们会继承 groupIdcom.hcgx-rootartifactIdhcgx-root 的父项目,这个内容其实在上面步骤 3 里。

<parent><groupId>com.hcgx-root</groupId><artifactId>hcgx-root</artifactId><version>0.0.1-SNAPSHOT</version>
</parent>

2、自己的名称等等

<groupId>com.hcgx-service</groupId>
<artifactId>hcgx-service</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>hcgx-service</name>
<description>Demo project for Spring Boot</description>

3、不用指定版本号,父项目指定了

<dependencies><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-jdbc</artifactId></dependency><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId></dependency>
</dependencies>

0.1、文件目录

在这里插入图片描述

http://www.ritt.cn/news/12566.html

相关文章:

  • 建设自己的网站单页网站排名优化
  • 可以免费做简历的网站网站建设解决方案
  • 中国建设购物网站制作企业网站的公司
  • 外贸b2b平台有哪些平台百度seo排名优化技巧分享
  • 怎么做网站的广告四川刚刚发布的最新新闻
  • 建设网站用什么好抖音十大搜索关键词
  • 如何在百度提交网站百度怎么优化网站关键词
  • 河北建设厅网站设置网络营销主要是学什么的
  • 网站优化升级怎么做系统清理优化工具
  • 南京网站设计是什么找做网站的公司
  • 专业的网站建站公司广州seo关键词优化是什么
  • 做网站建设的网站站长统计幸福宝下载
  • 做网站大型新闻头条今日新闻60条
  • 足球做网站首页格局百度推广首页
  • 提供商城网站建设建个网站需要多少钱?
  • 网站风格主要包括重庆seo技术博客
  • 天津网站制作的公司如何做好网络推广
  • 怎么删除2345网址导航如何网站优化排名
  • 建设银行wap网站北京seo代理商
  • 秦皇岛网站建设系统推荐网络推广公司介绍
  • 响应式网站建站企业管理软件管理系统
  • 网站发布方式有哪些加快实施创新驱动发展战略
  • 长沙建设局网站可以推广赚钱的软件
  • php开源企业网站系统武汉百度推广多少钱
  • 提供大良网站建设seo做的好的网站
  • 网站怎么建在国外百度站内搜索代码
  • 深圳企业网站app开发朝阳seo
  • 网站建设功能套餐表焦作seo公司
  • 法院内部网站建设方案网站推广公司排行榜
  • 网站做的支付宝接口环球资源外贸平台免费