Maven多模塊專案通常由一個父模塊和若干個子模塊構成,每個模塊都對應著一個pom.xml,它們之間通過繼承和聚合(也稱作多模塊)相互關聯,多模塊適用于一些比較大的專案,通過合理的模塊拆分,實作代碼的復用,便于維護和管理,
一、創建Parent Project
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>:配置<packaging>pom</packaging>的意思是使用maven分模塊管理,都會有一個父級專案,pom檔案一個重要的屬性就是packaging(打包型別),
一般來說所有的父級專案的packaging都為pom,packaging默認型別jar型別,如果不做配置,maven會將該專案打成jar包
<parent>:maven專案之間的繼承關系通過<parent>元素表示
<modules>:對子專案的關聯
<!--對子專案的關聯-->
<modules>
<module>eureka-server</module>
<module>eureka-client</module>
</modules>
<!--maven專案之間的繼承關系通過<parent>元素表示,這里使用的開發框架是spring boot,默認繼承spring-boot-starter-parent-->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.4.1</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.myjava.cloud</groupId>
<artifactId>springcloud-learning</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>springcloud-learning</name>
<description>Demo project for Spring Boot</description>
<!--配置<packaging>pom</packaging>的意思是使用maven分模塊管理,都會有一個父級專案,pom檔案一個重要的屬性就是packaging(打包型別),
一般來說所有的父級專案的packaging都為pom,packaging默認型別jar型別,如果不做配置,maven會將該專案打成jar包-->
<packaging>pom</packaging>
二、Eureka 注冊中心模塊(Module)
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 包
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-netflix-eureka-server</artifactId>
</dependency>
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
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/243563.html
標籤:java
上一篇:Java-陣列拷貝
