前言
大家可以非常清晰的看到,我上一個nacos 安裝和使用的博客是三個月前寫的了。但是寫這個播客就是爲了記錄一下,依賴版本的問題。
我遇到的一個奇怪的問題?
就是我之前用的那個帶有父依賴的pom文件(原因是我想嘗試一下官網的demo,就複製的它的pom依賴),但是隻配置註冊中心配置信息還不行,還要配置配置中心的信息,不然自動連接本地的nacos,不連接服務器的那 nacos,就非常奇怪。
由於我最後沒有解決,但是改了依賴就沒問題了,最後只能判斷爲依賴版本問題。(以下是我成功的版本依賴)
pom
<dependencies>
<!--基礎框架依賴-->
<!--spring boot 2.2.2-->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-dependencies</artifactId>
<version>2.2.2.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--spring cloud -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>Hoxton.SR1</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--spring cloud 2.1.0.RELEASE-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>2.1.0.RELEASE</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!--cloud 阿里巴巴 組件依賴-->
<!--discovery-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2.1.0.RELEASE</version>
</dependency>
<!--config-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
<version>2.2.1.RELEASE</version>
</dependency>
<!--gateway -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-gateway</artifactId>
<version>2.2.2.RELEASE</version>
</dependency>
</dependencies>
yml
nacos 的 註冊中心和配置中心,配置文件,記錄一下
你在登錄nacos的時候,是有用戶名和密碼的,但實際註冊時候,不需要配置
server:
port: 18081
spring:
application:
name: service-provider # 服務名稱
cloud:
nacos:
discovery:
server-addr: 192.168.22.254:8848 # 註冊中心地址 # 默認是沒有密碼的
config:
server-addr: 192.168.22.254:8848 # config地址
enabled: true # 是否開啓
refresh-enabled: true # 是否開啓自動刷新
file-extension: yaml # 指定配置文件類型
prefix: provider # 對應 DataId
group: dev # 對應 GroupId
# 網關的配置
gateway:
discovery:
locator:
enabled: true #表明gateway開啓服務註冊和發現的功能,
lowerCaseServiceId: true
routes:
- id: service-provider
uri: lb://service-provider
predicates:
- Path=/provider/**
management:
endpoints:
web:
exposure:
include: '*'
啓動類
@EnableDiscoveryClient // 啓動服務註冊與發現
@SpringBootApplication
public class ProviderApplication {
public static void main(String[] args) {
SpringApplication.run(ProviderApplication.class);
}
}
親測有效,歡迎大家指導交流