使用Idea创建SpringCloud父子工程
一、创建父工程
选择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生效
二、创建子工程
- 创建服务注册中心(以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>
- 客户端
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父子工程相关推荐
- IDEA 创建 MAVEN 父子工程
IDEA 创建 MAVEN 父子工程 1.参考资料 IDEA 创建MAVEN父子项目 使用IDEA创建maven父子工程 使用IDEA创建maven父子工程项目 2.创建 Maven 父工程 选择新建 ...
- SpringCloud工程搭建之创建SpringCloud父工程
一.创建SpringCloud父工程 完整工程源码:https://gitee.com/forwardxiang/spring-cloud-demo.git 1.1.1 IDEA相关操作 1.1.2 ...
- Idea创建maven父子工程及其依赖关系
1.先不使用骨架创建maven项目 2.删除src目录,因为是父项目,所以不需要src 3.创建子工程 1.创建模块 2.创建完毕POM文件自动改变 4.父子工程之间的maven依赖 1.先不使用骨架 ...
- 使用IDEA创建springcloud父工程
文章目录 new Project 指定groupId和artifactid 指定project的名称为位置 父工程不需要src目录, 可进行删除 pom.xml 开发环境 idea版本 : 2018. ...
- idea创建springcloud主工程和springboot子项目
创建主工程,选择file-new-project,选择maven,直接next 填写GroupId包名,ArtifactId项目名,next-finish 创建子项目springboot,项目右击-n ...
- Maven创建父子工程详解
前言: 在微服务盛行的当下,我们创建的工程基本都是父子工程,我们通过父工程来引入jar,定义统一的版本号等,这样我们在子工程中就可以直接引用后使用了,而不需要去重复的声明版本号等,这样会更方便对整个项 ...
- SpringCloud创建项目父工程
1.说明 本文详解介绍Spring Cloud项目的父工程创建, 由于Spring Cloud项目下有很多模块组件, 需要先创建一个大的父工程项目, 然后在下面创建各个子工程模块. 2.创建父工程 这 ...
- DEA中创建父子工程与maven打包Springboot聚合工程报错程序包不存在
DEA中创建父子工程与maven打包Springboot聚合工程报错程序包不存在 问题描述 springboot 项目打包(package)或安装到仓库(install)的时候报错:程序包com.fu ...
- idea 父文件_IDEA中Maven项目父子工程依赖
1.写在前面 假设一个Maven项目(这里是一个SSM整合项目)他的构造布局如下: 话不多说,直接上图: 这个项目存在父子工程(这里删掉了父工程的src文件夹,为了使项目可读性更高) 这里的子模块da ...
最新文章
- 在北京,一款App从无到有至少需要100万?
- mysql索引查2遍_mysql索引优化查询
- SpringBoot项目新建之后修改编译版本
- 2021-05-19 Schur补引理及证明
- 关于node.js和C交互的方法
- Linkedin Camus的使用
- C#仿QQ皮肤-ContextMenuStrip 控件实现
- ORACLE 索引的三种状态: VALID、 N/A 、UNUSABLE
- 【优化求解】基于matlab粒子群算法求解干扰受限无人机辅助网络优化问题【含Matlab源码 230期】
- idea打包jar的多种方式
- (新)最新抖音无水印解析原理再分析过程,柳暗花明又一村
- ENVI/ArcGIS根据坐标位置提取影像DN值(批量)
- 磨刀不误砍柴工(四)-IDEA常用快捷键
- 【bzoj 4554】【Tjoi2016Heoi2016】【NOIP2016模拟7.12】游戏
- python和工程造价_不会Python的将慢慢被淘汰!
- 李宏毅 Transformer(Decoder部分)
- 爬虫 -- 王者荣耀爬虫,爬取每个英雄的皮肤图片
- 2023款ThinkBook 14和15锐龙版区别对比评测选哪个好
- PyTorch载入预训练权重方法和冻结权重方法
- rk3588 驱动调试记录
热门文章
- hdu_5085_Counting problem(莫队分块思想)
- 'vt100': unknown terminal type.
- 读书笔记_Effective_C++_条款三十一:将文件间的编译依存关系降至最低(第二部分)...
- JSP的四个作用域(转载)
- 转 Windows Mobile 开发工具和资源 黎波
- 深度之眼课程打卡-python入门05
- 机器学习导论(张志华):正定核应用
- L0、L1、L2范数在机器学习中的应用
- xhost display 详解
- ubuntu下文件名乱码的解决办法