一共有三种情况
一、你的 nacos没有启动
nacos双击启动时它默认的是集群的方式启动
所以会报错
cmd下用命令启动
startup.cmd -m standalone
二、你没有引入web依赖。
<!-- web 依赖 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
三、spring cloud 、spring cloud Alibaba版本不对应
这种情况是最坑的,因为它有可能不会报错
但就是无法注入nacos中
我用的版本
<!-- spring boot的版本号 -->
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.3.9.RELEASE</version>
<relativePath/>
</parent>
<!-- 版本控制 -->
<properties>
<java.version>1.8</java.version>
<spring-cloud.version>Hoxton.SR10</spring-cloud.version>
<spring-cloud-alibaba.version>2.2.5.RELEASE</spring-cloud-alibaba.version>
</properties>
<!-- 依赖模板 -->
<dependencyManagement>
<dependencies>
<!-- spring cloud的版本依赖 -->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-dependencies</artifactId>
<version>${spring-cloud.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
<!-- spring cloud alibaba 的版本依赖 主要是用了nacos -->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-alibaba-dependencies</artifactId>
<version>${spring-cloud-alibaba.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
其他对应的版本也行,但一定要对应起来,要不然会崩溃的。
补充
在写yml文件配置的时候,不知道为什么它提示的写法有误。
我这样写才成功。
spring:
application:
name: userservice
cloud:
nacos:
discovery: #它提示的代码里是不用写这个的
server-addr: 106.14.43.20:8848