报错1:java.lang.noclassdeffounderror: com/alibaba/nacos/client/logging/nacoslogging
报错2:could not find class [org.springframework.cloud.client.discovery.simple.simplediscoveryclientautoconfiguration]
原因:springboot版本与nacos版本不一样
检查导入的依赖:
<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-->
<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>
</dependencyManagement>
原来的版本是2021.0.4.0,改成2021.0.6.0项目正常启动
<!--nacos 服务注册发现-->
<dependency>
<groupId>com.alibaba.cloud</groupId>
<artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
<version>2021.0.6.0</version>
</dependency>
当然也有可能是下载jar包的时候没下载完整,去自己本地的Maven仓库检查。我检查的时候发现jar包只有4k,发现不对劲,于是修改了Maven settings.xml的阿里云的镜像
<mirror>
<id>aliyunmaven</id>
<mirrorOf>*</mirrorOf>
<name>central</name>
<url>https://maven.aliyun.com/repository/central</url>
</mirror>
成功完整下载
=======================================================
其他奇怪的报错:
1. 找不到com.xxx.xxx.xxxDTO类
但是该类是存在的,目前不知道什么原因
解决办法:清除IDEA缓存
2. 在docker容器启动的时候一直在restart状态,运行一会儿就自己挂掉了
解决办法:
在启动命令中加入:
-e JVM_XMS=256m \
-e JVM_XMX=256m \
例如,我的启动命令是:
docker run -d \
--name nacos \
--env-file ./nacos/custom.env \
-e JVM_XMS=256m \
-e JVM_XMX=256m \
-p 8848:8848 \
-p 9848:9848 \
-p 9849:9849 \
--restart=always \
nacos/nacos-server