前言
大家可以非常清晰的看到,我上一个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);
}
}
亲测有效,欢迎大家指导交流