Maven多模块项目通常由一个父模块和若干个子模块构成,每个模块都对应着一个pom.xml。它们之间通过继承和聚合(也称作多模块)相互关联。多模块适用于一些比较大的项目,通过合理的模块拆分,实现代码的复用,便于维护和管理。
1、基于IDEA 创建新的Maven 项目,选择菜单项File----->New---->Project
左侧选择Spring Initializr,默认使用Java 1.8 版本,因为是spring boot项目需要选择该选项,会自动添加相关的依赖包,然后点击Next 按钮
2、填写GroupId;ArtifactId,然后点击下一步Next
3、在Dependencies 依赖窗口,作用是在pom中自动添加一些依赖,在项目开始时就下载。可以根据需要进行选择,这里选择Spring Boot DevTools
SpringBoot与SpringCloud的版本需要对应,对应详细版本可参考如下链接:
http://www.macrozheng.com/#/cloud/springcloud
https://blog.csdn.net/MinggeQingchun/article/details/111562916
4、得到一个标准的Spring boot 项目,该项目是作为一个Parent project存在的,直接删除src文件夹。
此处的父项目只做依赖管理,不需要编写代码。
5、修改pom.xml文件
一般来说所有的父级项目的packaging都为pom,packaging默认类型jar类型,如果不做配置,maven会将该项目打成jar包
eureka-server
eureka-client
org.springframework.boot
spring-boot-starter-parent
2.4.1
com.myjava.cloud
springcloud-learning
0.0.1-SNAPSHOT
springcloud-learning
Demo project for Spring Boot
pom
1、右键点击项目,选择New---->Module菜单项
2、左侧选择Maven,勾选Create from archetype ,选择 org.apache.maven.archetypes:maven-archetype-quickstart 项目类型
3、输入模块名字,以及GroupId 继承自父项目,ArtifactId
4、选择需要的SpringCloud组件进行创建
5、创建完成之后,对自动生成的App 类进行rename 操作,如下图所示,更新为EurekaServerApplication
6、对启动类添加注解
//EurekaServer 本身就是个 Springboot 微服务, 所以它有 @SpringBootApplication 注解
@SpringBootApplication
//@EnableEurekaServer 表示这是个 EurekaServer
@EnableEurekaServer
public class EurekaServerApplication {
public static void main(String[] args) {
SpringApplication.run(EurekaServerApplication.class, args);
}
}
7、子项目pom.xml 文件,增加 spring-cloud-starter-netflix-eureka-server jar 包
org.springframework.cloud
spring-cloud-starter-netflix-eureka-server
8、配置文件application.yml中添加Eureka注册中心的配置
server:
port: 8001 #指定运行端口
spring:
application:
name: eureka-server #指定服务名称
eureka:
instance:
hostname: localhost #指定主机地址
client:
fetch-registry: false #指定是否要从注册中心获取服务(注册中心不需要开启)
register-with-eureka: false #指定是否要注册到注册中心(注册中心不需要开启)
serviceUrl:
defaultZone: http://${eureka.instance.hostname}:${server.port}/eureka/
server:
enable-self-preservation: false #关闭保护模式
注:Eureka的常用配置
eureka:
client: #eureka客户端配置
register-with-eureka: true #是否将自己注册到eureka服务端上去
fetch-registry: true #是否获取eureka服务端上注册的服务列表
service-url:
defaultZone: http://localhost:8001/eureka/ # 指定注册中心地址
enabled: true # 启用eureka客户端
registry-fetch-interval-seconds: 30 #定义去eureka服务端获取服务列表的时间间隔
instance: #eureka客户端实例配置
lease-renewal-interval-in-seconds: 30 #定义服务多久去注册中心续约
lease-expiration-duration-in-seconds: 90 #定义服务多久不去续约认为服务失效
metadata-map:
zone: jiangsu #所在区域
hostname: localhost #服务主机名称
prefer-ip-address: false #是否优先使用ip来作为主机名
server: #eureka服务端配置
enable-self-preservation: false #关闭eureka服务端的保护机制
9、启动运行 EurekaServerApplication,访问地址http://127.0.0.1:8001/
可参考http://www.360doc.com/showweb/0/0/953061579.aspx