集成nacos2.2.1出现的错误汇总

news2025/4/17 8:36:04

总结

1.jdk问题  jdk要一致

2.idea使用问题 idea启动nacos要配置,idea启动类要启动两次,并配置两次vm参数

3.项目依赖问题 依赖要正确添加,有的模块就是不能用公共模块的pom配置,需要独立配置,先后启动顺序也要注意变换

4. properties文件内容 一定要给本地初始值,不能就启动不了;同时要和网站上配置的dataId对应,还有命名空间也要对应

流程简介:

1. idea里打开nacos

2. 官网创建配置

打开官网 https://nacos.io 或者你自己的console网址,在启动标志右边会给出,直接ctrl+点击可进入网址。密码和用户都默认nacos,更改的话在nacos下载文件的appliaction,properties里可改。

根据需求进行填充,这里要和后面项目中的bootstrap.properties和controller对应,可直接照抄。

3. 确定jdk 系统jdk  idea项目jdk   maven jdk  项目pom.xml jdk 都要一致,语言也一致

jdk 8,17 都可以,我用的17。

4. 依赖添加:springboot版本为3.0.0,springcould 2022.0

父模块train新增依赖:

          <dependency>
                <groupId>com.alibaba.cloud</groupId>
                <artifactId>spring-cloud-alibaba-dependencies</artifactId>
                <version>2022.0.0.0-RC1</version>
                <type>pom</type>
                <scope>import</scope>
            </dependency>

需要用到nacos的子模块member增加依赖:


        <!-- 配置中心 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-config</artifactId>
        </dependency>
        <!-- 注册中心 -->
        <dependency>
            <groupId>com.alibaba.cloud</groupId>
            <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
        </dependency>
        <!--SpringBoot 2.4版本之后 SpringCloud 2020,需要引入该依赖,才能读取bootstrap文件-->
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bootstrap</artifactId>
        </dependency>

5. member模块 com.jiawa.train.member.controller包下,测试文件和配置文件添加:

1) MemberApplication类 报错的话,执行mvn clean install,success就不会爆红了


@SpringBootApplication
@ComponentScan("com.jiawa") //根据自己的包结构更改
@MapperScan("com.jiawa.train.*.mapper") //如果你没有生成mapper持久层包可以不要这个注解,根据自己的包结构更改
public class MemberApplication {


    public static void main(String[] args) {
        SpringApplication app = new SpringApplication(BusinessApplication.class);

        //下面几行都可以去掉,是打印日志
        Environment env = app.run(args).getEnvironment();
        LOG.info("启动成功!!");
        LOG.info("测试地址: \thttp://127.0.0.1:{}{}/hello", env.getProperty("server.port"), env.getProperty("server.servlet.context-path"));

    }
}
package com.jiawa.train.member.controller;

import org.springframework.beans.factory.annotation.Value;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RestController;

@RestController //必须加
@RefreshScope //实时更新可不加
public class TestController {

    @Value("${test.nacos}")
    private String testNacos;

    @GetMapping("/hello")
    public String hello() {
        return String.format("Hello %s!", testNacos);
    }
}

//这里定义方法为hello,参数为test.nacos 初始值是配置文件里的1

2) resources下 

application.properties文件:

server.port=8001 //必须要,自己定义

test.nacos=1 //自定义,本地配置,必须给初始值,不然启动不了,如果读取不到远程也会拿这个值

-----------------------------------------------------------------------------------
server.servlet.context-path=/member //这个是配置了gateway模块转发需要,可以去掉

# 数据库连接 可以去掉这部分
spring.datasource.url=jdbc:mysql://localhost:3306/train_member?time_zone="+8:00"
spring.datasource.username=train_member
spring.datasource.password=member
spring.datasource.driver-class-name=com.mysql.cj.jdbc.Driver
# mybatis xml路径 可以去掉
mybatis.mapper-locations=classpath:/mapper/**/*.xml
logging.level.com.jiawa.train.member=trace


bootstrap.properties文件:

##下面三个值拼起来就是 页面上我们配置的dataId:member-dev.properties
spring.application.name=member
spring.profiles.active=dev
spring.cloud.nacos.config.file-extension=properties

## nacos 地址 127.0.0.1是本机默认地址,等效于localhost;8848是nacos默认端口
spring.cloud.nacos.config.server-addr=127.0.0.1:8848
spring.cloud.nacos.discovery.server-addr=127.0.0.1:8848

# nacos 命名空间 默认是public 这两行可以不写
spring.cloud.nacos.config.namespace=public
spring.cloud.nacos.discovery.namespace=public

 

3.启动项添加 VM参数,才能和nacos连接起来

第一次运行:

同一个地方,修改vm参数为 -Dspring.profiles.active=dev,再运行一次,每次修改了内容都要重新运行,(如果你配置了热部署,会启动,但是还是要手动刷新,才能正确运行拿到正确内容)

正确启动:出现127.0.0.1_8848才是成功,如果没有,就算没有报错,也是失败了,只会读取本地内容,不会读取远程的配置。

这里我的启动成功,但启动的是common模块,不是我想要的member模块,

原因是member还没有成功过,我就把member模块里的pom.xml新增内容放到common模块(这样所有模块都可以共用配置,member模块是已经引入了common模块的),同时添加了spring.application.name=common。

解决方法:在common模块pom里去掉新增配置,并去掉spring.application.name=common;在member模块里添加回新增配置,重新运行出现member再把pom配置,spring.application.name=common添加回去。

3. 查看是否拿到远程,并是否有服务

1)网址:localhost:8001/member/hello

2)  官网:

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2331022.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

LabVIEW 开发如何降本增效

在 LabVIEW 开发领域&#xff0c;如何在确保项目质量的同时降低开发成本&#xff0c;是众多企业和开发者共同关注的焦点。这不仅关乎资源的高效利用&#xff0c;更影响项目的投资回报率和市场竞争力。下面&#xff0c;我们将从多个维度深入剖析降本策略&#xff0c;并结合具体案…

Tomcat 负载均衡

目录 二、Tomcat Web Server 2.1 Tomcat 部署 2.1.1 Tomcat 介绍 2.1.2 Tomcat 安装 2.2 Tomcat 服务管理 2.2.1 Tomcat 启停 2.2.2 目录说明 2.2.3编辑主页 2.3 Tomcat管理控制台 2.3.1开启远程管理 2.3.2 配置远程管理密码 三、负载均衡 3.1 重新编译Nginx 3.1.1 确…

4月8日日记

今天抖音刷到一个视频 记了一下笔记 想做自媒体&#xff0c;直播&#xff0c;抖音是最大的平台&#xff0c;但是我的号之前因为跟人互喷被封号了 今天想把实名认证转移到新号上&#xff0c;试了一下竟然这次成功了&#xff0c;本以为能开直播了但是 还是因为之前的号有违规记…

【JavaScript】十六、事件捕获和事件冒泡

文章目录 1、事件流2、事件捕获3、事件捕获4、阻止冒泡5、解绑事件6、鼠标经过事件的区别7、两种事件注册语法的区别 1、事件流 先举个形象的例子&#xff1a;你去西安大雁塔旅游 出发找目的地时&#xff1a;先从你家出发&#xff0c;到陕西省西安市&#xff0c;再到雁塔区&a…

基于 Spring Boot 瑞吉外卖系统开发(一)

基于 Spring Boot 瑞吉外卖系统开发&#xff08;一&#xff09; 系统概述 系统功能 技术选型 初始项目和数据准备 初始项目和SQL文件下载 创建数据库并导入数据 打开reggie项目 运行效果 主函数启动项目&#xff0c;访问URL&#xff1a; http://127.0.0.1:8080/backend/pag…

WordPress超简洁的主题:果果CMS主题

果果CMS是基于WordPress开发的超精简的一款主题&#xff0c;它在原有的特性上添加了许多新特性&#xff0c;例如&#xff1a;随机文章、随机标签、随机分类、广告、友情链接等。 新版特性&#xff1a; 小&#xff1a;主题安装包文件大小只有140.48KB。少&#xff1a;主题最小…

leetcode13.罗马数字转整数

遍历&#xff0c;下一个值不大于当前值就加上当前值&#xff0c;否则就减去当前值 class Solution {public int romanToInt(String s) {Map<Character, Integer> map Map.of(I, 1,V, 5,X, 10,L, 50,C, 100,D, 500,M, 1000);int sum 0;for (int i 0; i < s.length(…

线程安全问题的原因与解决方案总结

目录 一 什么是线程安全&#xff1f; 二 线程安全问题的实例 三 线程安全问题的原因 1.多个线程修改共享数据 2.抢占式执行 3.修改操作不是原子的 4.内存可见性问题 5.指令重排序 四 解决方案 1.同步代码块 2.同步方法 3.加锁lock解决问题 一 什么是线程安全&…

Tunable laser激光器的前向和后向锁波长方案

----转载自秦岭农民的文章 Tunable laser可调激光器的锁波长方案 激光器锁波长技术是指通过各种手段将激光器的输出波长稳定在某一特定值或范围内&#xff0c;以满足高精度应用的需求。这些技术包括Etalon、波长计/光谱仪反馈、波长参考源、温度控制、电流控制、锁相环&#…

蓝桥杯:日期统计

文章目录 问题描述解法一递归解法二&#xff1a;暴力破解 问题描述 首先我们要了解什么是子序列&#xff0c;就是一个序列之中可以忽略元素但是不能改变顺序之后获得的序列就叫做子序列。 如"123"就是"11234"的子序列而不是"11324"的子序列 解法…

IQ解调原理#通信原理系列

IQ解调原理&#xff1a;接收端收到s(t)信号后&#xff0c;分为两路&#xff1a; 一路信号乘以cosω₀t再积分&#xff0c;就可以得到a&#xff1a; 另一路乘以 -sinω₀t再积分&#xff0c;就可以得到b&#xff1a;

C++蓝桥杯实训篇(三)

片头 嗨&#xff01;小伙伴们&#xff0c;大家好~ 今天我们来学习前缀和与差分相关知识&#xff0c;准备好了吗&#xff1f;咱们开始咯&#xff01; 一、一维前缀和 以上&#xff0c;是我们用数学知识求解区间和&#xff0c;现在我们使用前缀和来求解&#xff1a; 我们知道&am…

【数据挖掘】岭回归(Ridge Regression)和线性回归(Linear Regression)对比实验

这是一个非常实用的 岭回归&#xff08;Ridge Regression&#xff09;和线性回归&#xff08;Linear Regression&#xff09;对比实验&#xff0c;使用了 scikit-learn 中的 California Housing 数据集 来预测房价。 &#x1f4e6; 第一步&#xff1a;导入必要的库 import num…

CExercise_07_1指针和数组_1编写函数交换数组中两个下标的元素

题目&#xff1a; 要求编写函数将数组作为参数传递来实现&#xff1a; 1.编写函数交换数组中两个下标的元素。函数声明如下&#xff1a;void swap(int *arr, int i, int j) 。要求不使用[]运算符&#xff0c;将[]还原成解引用运算符和指针加法来完成。 关键点 通过指针交换数组…

塔能科技:智能路灯物联运维产业发展现状与趋势分析

随着智慧城市建设的推进&#xff0c;智能路灯物联运维产业正经历快速发展&#xff0c;市场规模持续扩大。文章探讨了智能路灯物联运维的技术体系、市场机遇和挑战&#xff0c;并预测了未来发展趋势&#xff0c;为行业发展提供参考。 关键词 智能路灯&#xff1b;物联运维&#…

ZW3D二次开发_普通对话框_设置对话框弹出位置

ZW3D的普通对话框可以在UI设计时静态地设置对话框弹出的位置&#xff0c;方法如下&#xff1a; 选中对话框的最顶级对象&#xff0c;即ZsCc::Form对象&#xff0c;在属性管理器中添加一个动态属性“form_pos”&#xff0c;类型为“StringList”&#xff0c;如下图所示 不同属性…

低代码开发「JNPF」应用场景

政务系统快速搭建 在数字化政务转型的浪潮下&#xff0c;JNPF 快速开发平台扮演着关键角色&#xff0c;为政府部门提供了高效且便捷的审批流程自动化解决方案。 以 “一网通办” 为例&#xff0c;通过平台的可视化拖拽式配置功能&#xff0c;政府工作人员能够将原本复杂繁琐的…

欧拉函数模板

1.欧拉函数模板 - 蓝桥云课 问题描述 这是一道模板题。 首先给出欧拉函数的定义&#xff1a;即 Φ(n) 表示的是小于等于 n 的数中和 n 互质的数的个数。 比如说 Φ(6)2&#xff0c;当 n 是质数的时候&#xff0c;显然有 Φ(n)n−1。 题目大意&#xff1a; 给定 n 个正整数…

屏幕空间反射SSR-笔记

屏幕空间反射SSR 相关文章&#xff1a; [OpenGL] 屏幕空间反射效果 Games202-RealTime GI in Screen Space github上的例子&#xff0c;使用visual studio2019 github例子对应的文章 使用OpenGL和C实现发光柱子的SSR倒影 下面是一个使用OpenGL和C实现屏幕空间反射(SSR)来创建…

动态规划算法深度解析:0-1背包问题(含完整流程)

简介&#xff1a; 0-1背包问题是经典的组合优化问题&#xff1a;给定一组物品&#xff08;每个物品有重量和价值&#xff09;&#xff0c;在背包容量限制下选择物品装入背包&#xff0c;要求总价值最大化且每个物品不可重复选取。 动态规划核心思想 通过构建二维状态表dp[i]…