总目录

https://preparedata.blog.csdn.net/article/details/120062997

一、新建一个父级gradl模块

1.在桌面或新建文件里面,右键,打开IDEA

  1. 选择Flie > NEW > Module
    选择Gradle, 选择Module SDK 1.8, 选择Java



    创建完成后,idea中会多出一个项目,如下图示例

    然后直接关闭当前idea, 进入刚才创建好的文件下,再次打开项目
    可以直接删除src目录

二、新建子级gradl模块,用于存放Eureka注册中心项目

在父级项目上右键(这一步和上一步有区别,其他都后面步骤都一样) > NEW > Module 选择Gradle, 选择Module SDK 1.8, 选择Java

父级项目得settings.gradle, 会自动添加include ‘shopping-order’

说明:
1.循环此步骤即可创建多个子项目
2.或者直接复制已经创建好的子项目,粘贴到同级目录,粘贴时候,记着修改子项目名称(shopping-pay,shopping-goods等), 切记切记,还需要在父级项目中的setting.gradle中包含子项目,比如:include 'shopping-goods'

三、修改父级bulid.gradle配置

原有的bulid.gradle配置,保留group version sourceCompatibility等属性, 其他全部注释掉或者删除
如下修改后代码,粘贴完成后,点击idea的import changes或刷新gradle即可

 /*plugins {id 'java'}group 'com.pd'version '1.0-SNAPSHOT'sourceCompatibility = 1.8repositories {mavenCentral()}dependencies {testCompile group: 'junit', name: 'junit', version: '4.12'}*/group 'com.pd'version = '1.0-SNAPSHOT'apply plugin: 'java'sourceCompatibility = 1.8//构建Gradle脚本自身需要的资源,可以声明的资源包括依赖项、第三方插件、maven仓库地址等。buildscript {ext {springBootVersion = '2.0.2.RELEASE'springCloudVersion = 'Finchley.M8'}//设置仓库repositories {maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }maven { url 'https://repo.spring.io/milestone'}}//用来打包dependencies {classpath("org.springframework.boot:spring-boot-gradle-plugin:${springBootVersion}")}}//配置全局, 包括root项目和子项目allprojects {//设置仓库repositories {maven { url 'http://maven.aliyun.com/nexus/content/groups/public/' }maven { url 'https://repo.spring.io/milestone'}}//配置编码格式tasks.withType(JavaCompile) {options.encoding = "UTF-8"}}

四、修改子级项目的bulid.gradle配置

原有的bulid.gradle配置全部注释掉或者删除,引入空的dependencies即可

/*plugins {id 'java'
}group 'com.pd'
version '1.0-SNAPSHOT'sourceCompatibility = 1.8repositories {mavenCentral()
}dependencies {testCompile group: 'junit', name: 'junit', version: '4.12'
}*/dependencies {}

说明:
1.子项目已经继承了父项目中配置,就不需要其他多余配置
2.子项目中空的dependencies依赖,适用于依赖各自子项目独有的依赖,如果配置子项目中公共的依赖,在父项目的subprojects.dependencies引入即可

五、新建子级项目启动项

新建java路径下的package,例如:com.pd.shopping.order

新建子项目启动项ShoppingOrderApplication

代码如下:

package com.pd.shopping.order;import org.springframework.boot.SpringApplication;
import org.springframework.cloud.client.SpringCloudApplication;@SpringCloudApplication
public class ShoppingOrderApplication {public static void main(String[] args) {SpringApplication.run(ShoppingOrderApplication.class, args);}
}

六、新建子级项目application.yml


代码如下:

#声名服务端口号
server:port: 11004
#设置服务名称
spring:application:  # 应用名字,eureka 会根据它作为服务idname: shopping-order
eureka:client:#是否在注册中心注册自己register-with-eureka: true#是否从 eureka 获取注册信息fetch-registry: true#配置注册中心的url (注意:地址最后面的 /eureka/ 这个是固定值)服务注册也就依赖这个url,后续我们会用到service-url:defaultZone: http://localhost:11001/eureka

说明:
1.各个子项目的端口号不能相同
2.defaultZone注册中的地址,注册中心需要提前运行,创建注册中心可参考: https://preparedata.blog.csdn.net/article/details/120063331

七、创建子项目具体业务文件路径(可选跳过)

此步骤可跳过,也可以在后面步骤中创建

八、创建多个子项目说明

1.创建多个子项目重复,重复上面文章中的 二、四、五、六、七步骤,三步骤中配置一次即可

2.或者直接复制已经创建子项目,进行平级目录粘贴,并修改其中子项目名称、启动类名称即可
还手动需要在父级项目的setting.gradle中包含,例如:

复制粘贴并且修改完成后,需要更新一下gradle
如果出现异常的启动项,可以删除,更新gradle,重新的配置子项目

3.创建多个服务过程中,idea会自动识别出多模块,自行弹出多模块设置,这个设置可以直接忽略,但是我这建议设置


4.子项目整体截图

目前将shopping项目,分成4个微服务,用户user, 商品goods, 支付pay, 订单order, 各个服务可以单独启动或单独部署,部署后续文章更新

九、启动各个服务

1.顶部导航栏,可以选择单个服务debug启动,启动成功后,切换另一个启动类,再次debug启动

2.如果在第八步骤3中,已经设置过多模块配置,也可以在底部工具右键单个服务启动或者全部服务启动

提前启动运行注册中心,参考:https://preparedata.blog.csdn.net/article/details/120063331
浏览器输入:http://localhost:11001/

看到这个页面说明,用户user, 商品goods, 支付pay, 订单order4个微服务,已经成功注册到eureka注册中心

spring cloud、gradle、父子项目、微服务框架搭建---搭建父子级多模块项目,并注册到Eureka注册中心(二)相关推荐

  1. Spring cloud(Finchley)微服务框架,sleuth整合zipkin链路追踪失效的问题

    一.首先说问题: 1.springCloud在使用链路追踪组件sleuth整合zipkin的过程中链路追踪信息切都是正常: 2.微服务太多需要使用组件Config对每个微服务的的配置文件进行统一管理: ...

  2. 阿里巴巴开源 Spring Cloud Alibaba,加码微服务生态建设

    转载自  阿里巴巴开源 Spring Cloud Alibaba,加码微服务生态建设 本周,Spring Cloud联合创始人Spencer Gibb在Spring官网的博客页面宣布:阿里巴巴开源 S ...

  3. 手把手教你用Spring Cloud和Docker构建微服务

    什么是Spring Cloud? Spring Cloud 是Pivotal提供的用于简化分布式系统构建的工具集.Spring Cloud引入了云平台连接器(Cloud Connector)和服务连接 ...

  4. 【Spring Cloud】03_SpringCloud Alibaba 微服务解决方案

    微服务简介 背景分析 讲微服务之前,我们先分析以下单体应用.所谓单体应用一般是基于idea/eclipse,maven等建一个工程,然后基于SpringBoot,spring,mybatis框架进行整 ...

  5. 基于Spring Cloud及K8S构建微服务应用

    摘要 广发证券蔡波斯先生通过三个大方向来为我们分享基于Spring Cloud及K8S构建微服务应用. 内容来源:2017年6月10日,广发证券蔡波斯在"Spring Cloud中国社区技术 ...

  6. java event sourcing_使用Spring Cloud和Reactor在微服务中实现EventSourcing -解道Jdon

    使用Spring Cloud和Reactor在微服务中实现Event Sourcing 当在微服务架构中构建应用时,状态管理成为分布式系统的问题,相比于传统monolithic应用,将状态管理通过事务 ...

  7. Spring Cloud Sleuth + Zipkin 监控微服务(一)

    在之前搭建的服务注册中心的基础上,结合Spring Cloud Sleuth + Zipkin 监控微服务. 1.Zipkin server 从https://dl.bintray.com/openz ...

  8. springcloud日志收集框架_从零开始入门K8S| 从Spring Cloud到Kubernetes的微服务迁移实践...

    写在前面 要出发周边游(以下简称要出发)是国内知名的主打「周边游」的在线旅行网站,为了降低公司内部各个业务模块的耦合度,提高开发.交付及运维效率,我们在 2017 年就基于 Spring Cloud ...

  9. springcloud 整合 gateway_从Spring Cloud到Kubernetes的微服务迁移实践

    写在前面 要出发周边游(以下简称要出发)是国内知名的主打「周边游」的在线旅行网站,为了降低公司内部各个业务模块的耦合度,提高开发.交付及运维效率,我们在 2017 年就基于 Spring Cloud ...

  10. 从Spring Cloud到Kubernetes的微服务迁移实践

    写在前面 要出发周边游(以下简称要出发)是国内知名的主打「周边游」的在线旅行网站,为了降低公司内部各个业务模块的耦合度,提高开发.交付及运维效率,我们在 2017 年就基于 Spring Cloud ...

最新文章

  1. R语言使用ggpubr包的ggline函数绘制各种漂亮形式的线图实战
  2. Ubuntu建立(apache+php+mysql)+phpmyadmin
  3. VS2017编译可在Win2000上运行的程序
  4. 动态页面加载速度太慢
  5. CentOS/Linux 解决 SSH 连接慢
  6. HttpResponse对象
  7. 基于9款CSS3鼠标悬停相册预览特效
  8. windows环境下32位汇编语言程序设计 90盘_程序设计作业题汇总
  9. HDU1848 Fibonacci again and again【SG函数】
  10. git clone权限被拒绝
  11. PLC控制系统设计的基本原则和主要内容
  12. wps如何将字体竖着排列_WPS文字中怎么竖着打字?wps文字竖排的设置方法介绍
  13. ug无限的服务器名称,ug无效的服务器名称
  14. Android View事件分发机制
  15. 世界科学、技术、工业革命趋势分析
  16. python关键词生成文章_如何生成关键词云图?
  17. 微信公众平台开发实例(琴岛学院校园之声) PHP开发 代码挂载SAE平台(五)琴院Siri功能
  18. 自定义带取景框的camera
  19. HDUOJ 6575 Budget
  20. 12 HDFS的Trash回收机制

热门文章

  1. 【JavaScript-事件】target和this的区别?如何阻止冒泡事件?常见的鼠标事件和键盘事件有哪些?
  2. 世界第一台通用计算机:ENIAC
  3. Android唤醒锁作用,Android深度睡眠和唤醒锁
  4. [51Nod 1326]:遥远的旅途
  5. 旧金山大学 计算机,旧金山大学
  6. 微信什么时候支持鸿蒙,若微信只支持鸿蒙抛弃安卓,结果如何?别傻了,腾讯不会“作死”...
  7. 天涯明月刀7月4号服务器维护,7月24日服务器例行维护公告(已完成)
  8. 数据库 SQL Server 检测到基于一致性的逻辑 I/O 错误 页撕裂 执行 读取 期间,发生了该错误 恢复
  9. linux-gcc 找不到命令,为什么显示gcc命令没有找到?
  10. 在博客里胡搞markdown排版是否搞错了什么