Failed to execute goal org.codehaus.mojo:exec-maven-plugin:3.6.3:execon project ruoyi-modules-syste

发布时间:2026/9/8 0:32:20

Failed to execute goal org.codehaus.mojo:exec-maven-plugin:3.6.3:execon project ruoyi-modules-syste
一、报错现象Failed to execute goal org.codehaus.mojo:exec-maven-plugin:3.6.3:exec on project ruoyi-modules-system: Command execution failed. Process exited with an error: 1Maven 只是执行器真正的问题在 Spring Boot 启动阶段。应用没起来Maven 才以退出码 1 结束。二、两类最容易误导的日志误导点 1dynamic-datasource initial loaded [0/1] datasource这条日志是判断 Nacos 配置是否生效的关键指标应优先看日志内容含义下一步loaded [0] datasourceNacos 里数据源配置没加载进来查 Nacos 连通性、YAML 解析、编码问题loaded [1] datasource, primary named [master]数据源配置已生效数据源问题可排除转查 MyBatis / 业务配置分析思维看到 MyBatis / Mapper 报错 ↓ 先往回看数据源日志不要直接改 Mapper ↓ [0] datasource → 根因在 Nacos 配置未注入编码、YAML、Data ID [1] datasource → Nacos 基础配置已 OK再查 MyBatis 专属配置典型陷阱看到[1] datasource就认为「全都好了」但MyBatis 的mapper-locations、type-aliases-package与数据源在同一份 Nacos YAML 里。若之前是[0]阶段修复编码后变成[1]说明 Nacos 已能解析若 MyBatis 仍报错再单独核对别名、包路径不要回头怀疑 Mapper 接口或 XML 写错。误导点 2Invalid bound statement: com.ruoyi.system.mapper.SysConfigMapper.selectConfigList这类报错非常像代码问题容易让人去改 Mapper实际上经常是配置未加载的连锁反应Nacos YAML 解析失败UTF-8/GBK ↓ mybatis.mapper-locations 未生效 ↓ Mapper 接口能扫描到MapperScan 仍工作 Mapper XML 没被加载进 SqlSessionFactory ↓ 调用 selectConfigList() 时报 Invalid bound statement (not found): ...SysConfigMapper.selectConfigList为什么容易误判表象容易得出的错误结论实际情况接口里有selectConfigList方法名写错方法名没问题XML 里有对应select idselectConfigListXML 路径或 id 写错XML 本身没问题target/classes/mapper/.../SysConfigMapper.xml存在编译/打包问题资源已在 classpath报错指向具体 Mapper 方法要改 Java/XML根因是 MyBatis 没扫到 XML正确排查顺序看dynamic-datasource是[0]还是[1]看有没有MalformedInputException/YAMLException确认 Nacos 里mybatis.mapper-locations是否生效最后才核对 Mapper 接口与 XML通常无需改代码中间还出现过Could not resolve type alias SysDept属于同一链条type-aliases-package配错如只写com.ruoyi.system.domain与selectConfigList找不到是同类配置问题不是实体类缺失。三、完整排查思维链路Maven BUILD FAILURE ↓ 看 Spring 启动日志不看 Maven 本身 ↓ ┌─ dynamic-datasource loaded [0] ? │ ↓ 是 │ Nacos 配置未生效 → 查 YAMLException / 编码 / Data ID │ ↓ │ 连锁无数据源 无 mapper-locations │ ↓ │ 误导性报错SysConfigMapper.selectConfigList not found │ └─ dynamic-datasource loaded [1] ? ↓ 是 数据源 OK继续看 MyBatis ↓ SysDept / selectConfigList 等报错 ↓ 查 type-aliases-package、mapper-locations仍在 Nacos 同一份配置里 ↓ 一般不用改 Mapper 代码四、根因说明1. Nacos 配置依赖本地bootstrap.yml只负责连 Nacos业务配置在远程配置项作用spring.datasource.dynamic数据源决定[0]还是[1]mybatis.mapper-locations决定 XML 是否加载影响selectConfigList等mybatis.type-aliases-package决定SysDept等别名应用com.ruoyi.systemspring.cloud.gateway.routes网关路由影响/auth/login404任意环节解析失败都会引发下游「像代码错了」的报错。2. UTF-8 编码问题Windows 默认常为GBKNacos 配置含中文注释如# spring配置、# 认证中心解析触发MalformedInputException→整份 YAML 失效表现为[0] datasource 各类 MyBatis BindingException3. 网关 404 同一性质/auth/login返回 404 且 auth 无日志 →ruoyi-gateway-dev.yml路由未加载与 system 模块是同一类 Nacos 编码问题。五、解决方案方案 AJVM 强制 UTF-8各服务 VM options 添加-Dfile.encodingUTF-8方案 BNacos 配置去除中文各*-dev.yml删除中文注释关键项示例mybatis: type-aliases-package: com.ruoyi.system mapper-locations: classpath*:mapper/**/*.xml方案 CIDE 编码统一File Encodings全部UTF-8。方案 D命名空间未配namespace即public无需额外选择保证 Data ID 为{application.name}-dev.yml即可。六、验证清单无MalformedInputExceptiondynamic-datasource initial loaded [1] datasource不是[0]无Invalid bound statement: ...SysConfigMapper.selectConfigList无Could not resolve type alias SysDept网关/auth/login能打到 auth 服务七、经验总结要点说明[0]vs[1] datasource是分水岭[0]先修 Nacos[1]再查 MyBatis 细项Mapper 报错常是烟雾弹selectConfigList not found多因mapper-locations未加载不是接口/XML 写错同一份 Nacos YAML 管多条线数据源、MyBatis、路由一起失效或一起恢复Windows 开发必盯编码中文注释 GBK 是若依微服务常见坑一句话先用dynamic-datasource loaded [0/1]判断 Nacos 是否生效SysConfigMapper.selectConfigList等 MyBatis 报错往往是配置未加载的结果而非原因根因是Nacos 配置因 UTF-8/GBK 不一致解析失败。

相关新闻

Java-AES-Crypto安全审计:如何确保加密实现的安全性

Java-AES-Crypto安全审计:如何确保加密实现的安全性

2026/9/4 2:45:36

Java-AES-Crypto安全审计:如何确保加密实现的安全性 【免费下载链接】java-aes-crypto A simple Android class for encrypting & decrypting strings, aiming to avoid the classic mistakes that most such classes suffer from. 项目地址: https://gitcode…

Eagleye节点架构解析:15个核心模块如何协同工作

Eagleye节点架构解析:15个核心模块如何协同工作

2026/8/23 0:41:50

Eagleye节点架构解析:15个核心模块如何协同工作 【免费下载链接】eagleye Precise localization based on GNSS and IMU. 项目地址: https://gitcode.com/gh_mirrors/ea/eagleye 想要实现车辆厘米级高精度定位?Eagleye开源定位软件通过15个核心模…

Next.js WordPress Starter与Headless CMS对比:何时选择WordPress作为后端

Next.js WordPress Starter与Headless CMS对比:何时选择WordPress作为后端

2026/8/23 0:41:50

Next.js WordPress Starter与Headless CMS对比:何时选择WordPress作为后端 【免费下载链接】nextjs-wordpress-starter A headless starter for WordPress powered by Next.js. 项目地址: https://gitcode.com/gh_mirrors/ne/nextjs-wordpress-starter 在当今…

AI数据中心15GW算力革命:从能耗挑战到基础设施新范式

AI数据中心15GW算力革命:从能耗挑战到基础设施新范式

2026/9/8 11:43:03

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

CentOS 6.3运维实战:部署优化、排错与迁移指南

CentOS 6.3运维实战:部署优化、排错与迁移指南

2026/9/8 11:43:03

简介:这是一份围绕CentOS 6.3整理的前端网页源码工具包,面向需要在CentOS服务器上快速部署静态页面或学习HTML/CSS/JavaScript基础结构的开发者。压缩包内含19个文件,其中14张PNG配图、3个JS脚本、1个CSS样式表以及1个首页HTML,整…

Linux磁盘管理实战:lsblk、fdisk与mkfs.xfs从入门到挂载

Linux磁盘管理实战:lsblk、fdisk与mkfs.xfs从入门到挂载

2026/9/8 11:43:03

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

边缘计算选型指南:从盒子到节点,五大厂商优劣势全解析

边缘计算选型指南:从盒子到节点,五大厂商优劣势全解析

2026/9/8 11:43:03

选边缘计算厂商这个事,我这两年被问过太多次了。很多朋友手里拿着预算,上来第一句话就是"哪家最强",但真聊下去就会发现,大部分人连自己到底需要"边缘计算盒子"还是"边缘计算节点"都没想清楚。2026…

AI一键生成完整视频:开源工作流从环境部署到批量生产实践

AI一键生成完整视频:开源工作流从环境部署到批量生产实践

2026/9/8 11:43:03

/* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views …

老番资源收藏指南:从文件命名到媒体库整理的完整实战

老番资源收藏指南:从文件命名到媒体库整理的完整实战

2026/9/8 11:33:03

前几天整理移动硬盘,翻出来一个文件名叫dragonballz_e216-1的MKV,看到这个命名的瞬间我愣了几秒。这种风格太熟悉了——当年从字幕组论坛一集一集追番的时候,下载下来的文件基本都是这种命名格式。dragonballz就是《龙珠Z》,e216代…

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

中国人民大学杨琳团队《Nature Communications》 | 全球潮汐湿地土壤有机碳时空格局与环境驱动:一项2009-2020年的全球评估

2026/9/7 20:21:46

本文首发于“生态学者”!从“湿地面积”到“土壤碳密度”:为什么需要重新认识潮汐湿地蓝碳变化?潮汐湿地位于陆地与海洋的交汇地带,包括红树林、盐沼和潮滩,是全球重要的蓝碳生态系统。其土壤能够长期储存大量有机碳&a…

adb抓包

adb抓包

2026/9/8 4:55:53

前言 本文介绍如何通过 tcpdump 在 Android 手机上抓取网络数据包,并在电脑端使用 Wireshark 进行分析。适用于需要排查 App 网络请求、分析接口调用或调试网络问题的开发与测试场景。1. 手机要有 root 权限2. 下载 tcpdump3. adb push C:\Users\zhangkuixun\Downlo…

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战

2026/9/7 8:03:37

大模型推理镜像极简瘦身:从 25GB 巨无霸到 3GB 精简镜像实战 在云原生基础设施中,容器镜像体积直接决定了服务的部署速度与弹性扩容敏捷度。对于传统的 Go / Java 微服务,镜像体积通常被严格控制在 50MB 到 200MB 以内,拉取镜像只…

芯片良率波动可视化:动画拆解工艺因果,重建客户信任

芯片良率波动可视化:动画拆解工艺因果,重建客户信任

2026/9/8 0:02:30

芯片这个行业有个不太被人摆到台面上、但几乎每天都在发生的场景:客户拿着一条良率曲线截图问你,这批货的良率怎么掉了三个点,是不是工艺出问题了,产生的不良会不会流到他们产线上去。你解释了半天,客户似懂非懂&#…

PyTorch DataLoader参数冲突:sampler与shuffle互斥的根源与正确写法

PyTorch DataLoader参数冲突:sampler与shuffle互斥的根源与正确写法

2026/9/8 0:02:30

ValueError: sampler option is mutually exclusive with shuffle,这个报错我在 PyTorch 的 DataLoader 上至少见过几十次了,而且很有意思的是,它经常不是新手专属——很多写了好几年模型的老手,在从单机改成自定义采样器&#xf…

中国车企再破谣言,GAC吉利零跑获欧盟安全五星

中国车企再破谣言,GAC吉利零跑获欧盟安全五星

2026/9/8 0:02:30

有人可能在网上开着皮卡拍视频,声称中国电动车不仅性能不如美国大排量车型,安全性也堪忧。然而事实恰恰相反,GAC、吉利和零跑最新推出的电动车型在极为严苛的欧盟新车安全评鉴(Euro NCAP)测试中全部斩获满分。就在特斯…

远程协作的工作台整理

远程协作的工作台整理

2026/9/8 4:23:39

远程协作的工作台整理远程协作的核心不是再加一个工具,而是让交接信息足够完整。异步任务要写明目标、输入位置、完成标准和需要决策的人。 工作台的最小配置 将日程、待办、代码和沟通入口收拢到少数固定位置;通知按紧急程度分层。工作台不需要模仿办公…

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能

2026/9/8 3:19:39

持续集成 流水线自动化与 声明式交付 实践:原型怎样变成可用功能分类:[AI/大模型]细分主题:AI 增强型 CI/CD 流水线自动化与 GitOps 实践:Agent 工作流、工具调用与任务拆解:从原型到生产的验收清单很多团队在尝试用大…

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场

2026/9/8 4:00:23

容器编排 生产环境运维与排障实战:复盘记录怎样真正派上用场分类:[工程技术]细分主题:Kubernetes 生产环境运维与排障实战:可复制的项目复盘模板与决策记录大部分团队的事故复盘报告,最后都变成了躺在 Confluence 或钉…