一、创建父工程

选择Spring Initializr

填写项目信息

什么都不要选,直接next

finish

父工程是用来进行全局版本控制的,不需要src目录,可以直接删除(如下,很简洁),删除后在maven reimport就可以

修改pom文件

<?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><!--全局定义springboot父项目版本号--><parent><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-parent</artifactId><version>2.2.5.RELEASE</version><relativePath/> <!-- lookup parent from repository --></parent><!--项目描述--><groupId>com.myspringcloud</groupId><artifactId>demo</artifactId><version>0.0.1-SNAPSHOT</version><name>myspringcloud</name><description>Demo project for Spring Boot</description><!--packageing需要指定为pom--><packaging>pom</packaging><!--子工程目录,每添加一个model,需要将子工程的model名注册到此--><modules><module>nacos_server</module><module>client</module></modules><!--定义springcloud使用版本号等属性信息--><properties><java.version>1.8</java.version><spring.cloud.alibaba.version>2.2.1.RELEASE</spring.cloud.alibaba.version><spring.cloud.version>Hoxton.SR3</spring.cloud.version><lombok.version>1.18.12</lombok.version></properties><!--引入全体项目都需要的父依赖,引入后,子项目不需要引入,继承父项目就可以--><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><!--全局管理springcloud版本,并不会引入具体依赖--><!--全局引入springcloudalibaba下载依赖地址,并不会引入依赖--><!--在 < dependencyManagement> 里面添加 springcloud 和 springcloud alibaba的 bom 信息,这将允许您省略任何 Maven 依赖项的版本,而是将版本控制委派给 BOM--><dependencyManagement><dependencies><!--引入阿里巴巴下载仓库--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-alibaba-dependencies</artifactId><version>${spring.cloud.alibaba.version}</version><type>pom</type><scope>import</scope></dependency><!--引入springcloud下载仓库--><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-dependencies</artifactId><version>${spring.cloud.version}</version><type>pom</type><scope>import</scope></dependency></dependencies></dependencyManagement><build><plugins><plugin><groupId>org.springframework.boot</groupId><artifactId>spring-boot-maven-plugin</artifactId></plugin></plugins></build></project>

然后maven reimport生效

二、创建子工程

  1. 创建服务注册中心(以nacos为例)

右键项目,选择module模块

继续使用Spring Initializr模块创建springboot项目



nacos_server的pom.xml

<?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"><!-- 确认父子工程继承关系 --><parent><!--父工程 groupId--><groupId>com.myspringcloud</groupId><!--父工程 artifactId--><artifactId>demo</artifactId><!--父工程 版本--><version>0.0.1-SNAPSHOT</version></parent><modelVersion>4.0.0</modelVersion><artifactId>nacos_server</artifactId><version>0.0.1-SNAPSHOT</version><name>nacos_server</name><description>服务发现注册</description><dependencies><!-- springboot starter web --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</version></dependency><!--nacos--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency></dependencies></project>
  1. 客户端

pom文件

<?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--><groupId>com.myspringcloud</groupId><!--父工程 artifactId--><artifactId>demo</artifactId><!--父工程 版本--><version>0.0.1-SNAPSHOT</version></parent><artifactId>custom</artifactId><version>0.0.1-SNAPSHOT</version><name>custom</name><description>客户端功能</description><dependencies><!-- springboot starter web --><dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--lombok--><dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>${lombok.version}</version></dependency><!--nacos--><dependency><groupId>com.alibaba.cloud</groupId><artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId></dependency><!-- openfeign --><dependency><groupId>org.springframework.cloud</groupId><artifactId>spring-cloud-starter-openfeign</artifactId></dependency></dependencies>
</project>

三、完整的项目结构

使用Idea创建SpringCloud父子工程相关推荐

  1. IDEA 创建 MAVEN 父子工程

    IDEA 创建 MAVEN 父子工程 1.参考资料 IDEA 创建MAVEN父子项目 使用IDEA创建maven父子工程 使用IDEA创建maven父子工程项目 2.创建 Maven 父工程 选择新建 ...

  2. SpringCloud工程搭建之创建SpringCloud父工程

    一.创建SpringCloud父工程 完整工程源码:https://gitee.com/forwardxiang/spring-cloud-demo.git 1.1.1 IDEA相关操作 1.1.2 ...

  3. Idea创建maven父子工程及其依赖关系

    1.先不使用骨架创建maven项目 2.删除src目录,因为是父项目,所以不需要src 3.创建子工程 1.创建模块 2.创建完毕POM文件自动改变 4.父子工程之间的maven依赖 1.先不使用骨架 ...

  4. 使用IDEA创建springcloud父工程

    文章目录 new Project 指定groupId和artifactid 指定project的名称为位置 父工程不需要src目录, 可进行删除 pom.xml 开发环境 idea版本 : 2018. ...

  5. idea创建springcloud主工程和springboot子项目

    创建主工程,选择file-new-project,选择maven,直接next 填写GroupId包名,ArtifactId项目名,next-finish 创建子项目springboot,项目右击-n ...

  6. Maven创建父子工程详解

    前言: 在微服务盛行的当下,我们创建的工程基本都是父子工程,我们通过父工程来引入jar,定义统一的版本号等,这样我们在子工程中就可以直接引用后使用了,而不需要去重复的声明版本号等,这样会更方便对整个项 ...

  7. SpringCloud创建项目父工程

    1.说明 本文详解介绍Spring Cloud项目的父工程创建, 由于Spring Cloud项目下有很多模块组件, 需要先创建一个大的父工程项目, 然后在下面创建各个子工程模块. 2.创建父工程 这 ...

  8. DEA中创建父子工程与maven打包Springboot聚合工程报错程序包不存在

    DEA中创建父子工程与maven打包Springboot聚合工程报错程序包不存在 问题描述 springboot 项目打包(package)或安装到仓库(install)的时候报错:程序包com.fu ...

  9. idea 父文件_IDEA中Maven项目父子工程依赖

    1.写在前面 假设一个Maven项目(这里是一个SSM整合项目)他的构造布局如下: 话不多说,直接上图: 这个项目存在父子工程(这里删掉了父工程的src文件夹,为了使项目可读性更高) 这里的子模块da ...

最新文章

  1. 在北京,一款App从无到有至少需要100万?
  2. mysql索引查2遍_mysql索引优化查询
  3. SpringBoot项目新建之后修改编译版本
  4. 2021-05-19 Schur补引理及证明
  5. 关于node.js和C交互的方法
  6. Linkedin Camus的使用
  7. C#仿QQ皮肤-ContextMenuStrip 控件实现
  8. ORACLE 索引的三种状态: VALID、 N/A 、UNUSABLE
  9. 【优化求解】基于matlab粒子群算法求解干扰受限无人机辅助网络优化问题【含Matlab源码 230期】
  10. idea打包jar的多种方式
  11. (新)最新抖音无水印解析原理再分析过程,柳暗花明又一村
  12. ENVI/ArcGIS根据坐标位置提取影像DN值(批量)
  13. 磨刀不误砍柴工(四)-IDEA常用快捷键
  14. 【bzoj 4554】【Tjoi2016Heoi2016】【NOIP2016模拟7.12】游戏
  15. python和工程造价_不会Python的将慢慢被淘汰!
  16. 李宏毅 Transformer(Decoder部分)
  17. 爬虫 -- 王者荣耀爬虫,爬取每个英雄的皮肤图片
  18. 2023款ThinkBook 14和15锐龙版区别对比评测选哪个好
  19. PyTorch载入预训练权重方法和冻结权重方法
  20. rk3588 驱动调试记录

热门文章

  1. hdu_5085_Counting problem(莫队分块思想)
  2. 'vt100': unknown terminal type.
  3. 读书笔记_Effective_C++_条款三十一:将文件间的编译依存关系降至最低(第二部分)...
  4. JSP的四个作用域(转载)
  5. 转 Windows Mobile 开发工具和资源 黎波
  6. 深度之眼课程打卡-python入门05
  7. 机器学习导论(张志华):正定核应用
  8. L0、L1、L2范数在机器学习中的应用
  9. xhost display 详解
  10. ubuntu下文件名乱码的解决办法