idea修改模块名导致程序编译出错
本文简单描述分别用Idea菜单、pom.xml文件管理项目模块module
踩过的坑:
通过idea菜单创建模块,并用idea菜单修改模块名,结构程序编译报错,出错的代码莫名奇妙。双击maven弹窗clean时,还是报错。因为模块是新建的,只有两个controller函数,非常简单,感觉是改模块名时,idea把某些配置信息改了,出现编译问题。
困惑过后,冷静思考,idea只是高级编辑器,界面上的所有修改,都应该固化到项目文件中。
以创建模块module为例:

①向导窗口中填写的模块名称yudao-module-app会写入新建模块的pom.xml文件中

实际上idea界面中的模块名称取自该模块下的pom.xml中的name字段(一般与artifactId相同):
<artifactId>yudao-module-app222</artifactId>
......
<name>yudao-module-app</name>

证明:当通过idea界面修改模块名称时,pom.xml中的artifactId字段会同步改变。

注:但是修改pom.xml的artifactId字段时,idea界面显示的模块名称不会同步修改
而且模块名与路径名要同步修改,否则maven会报错

IDEA重命名一个模块(详细说明)_compiler.xml-CSDN博客文章浏览阅读1w次,点赞11次,收藏49次。最精准无误地修改idea的模块名!_compiler.xmlhttps://blog.csdn.net/xiaoyouyouaaa/article/details/122729353?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168506388216782425116170%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168506388216782425116170&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-122729353-null-null.142%5Ev88%5Econtrol_2,239%5Ev2%5Einsert_chatgpt&utm_term=idea%E6%A8%A1%E5%9D%97%E9%87%8D%E5%91%BD%E5%90%8D%E9%97%AE%E9%A2%98&spm=1018.2226.3001.4187https://blog.csdn.net/xiaoyouyouaaa/article/details/122729353?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168506388216782425116170%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168506388216782425116170&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-122729353-null-null.142%5Ev88%5Econtrol_2,239%5Ev2%5Einsert_chatgpt&utm_term=idea%E6%A8%A1%E5%9D%97%E9%87%8D%E5%91%BD%E5%90%8D%E9%97%AE%E9%A2%98&spm=1018.2226.3001.4187https://blog.csdn.net/xiaoyouyouaaa/article/details/122729353?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168506388216782425116170%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168506388216782425116170&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-122729353-null-null.142%5Ev88%5Econtrol_2,239%5Ev2%5Einsert_chatgpt&utm_term=idea%E6%A8%A1%E5%9D%97%E9%87%8D%E5%91%BD%E5%90%8D%E9%97%AE%E9%A2%98&spm=1018.2226.3001.4187
https://blog.csdn.net/xiaoyouyouaaa/article/details/122729353?ops_request_misc=%257B%2522request%255Fid%2522%253A%2522168506388216782425116170%2522%252C%2522scm%2522%253A%252220140713.130102334.pc%255Fall.%2522%257D&request_id=168506388216782425116170&biz_id=0&utm_medium=distribute.pc_search_result.none-task-blog-2~all~first_rank_ecpm_v1~rank_v31_ecpm-1-122729353-null-null.142%5Ev88%5Econtrol_2,239%5Ev2%5Einsert_chatgpt&utm_term=idea%E6%A8%A1%E5%9D%97%E9%87%8D%E5%91%BD%E5%90%8D%E9%97%AE%E9%A2%98&spm=1018.2226.3001.4187老鸟提示:新建模块时,命名要遵守规范,因为修改module名称很麻烦,创建后少修改。
②idea创建模块时,会将新建模块名称写入父模块pom.xml文件中:
<modules><module>yudao-dependencies</module><module>yudao-framework</module><!-- Server 主项目 --><module>yudao-server</module><!-- 各种 module 拓展 --><module>yudao-module-system</module><module>yudao-module-infra</module><module>yudao-module-app</module> <!-- 由idea创建的模块,idea自动将模块名加入父项目的pom.xml中 -->
</modules>

注:通过idea菜单删除模块时,父模块pom.xml中的注册信息不会自动删除。

删除模块后,父模块pom.xml中定义的<module>yudao-module-app</module>会爆红
③项目根路径下的.idea目录(被git忽略)中,有maven相关配置:

注:.idea目录中的文件是由idea管理的,不建议手动编辑,可以在IDEA界面编辑
IntelliJ IDEA: What Is the .idea Folder and How to Manage It - BootcampToProdLearn about the .idea folder in IntelliJ IDEA, its purpose, content, and best practices. This blog post will explain how to configure, ignore, share, andhttps://bootcamptoprod.com/intellij-idea-folder/https://bootcamptoprod.com/intellij-idea-folder/
https://bootcamptoprod.com/intellij-idea-folder/
How to Configure the .idea Folder?
如何配置 .idea 文件夹?
The .idea folder is automatically generated and updated by IntelliJ IDEA based on the project structure and the user actions. We do not need to manually edit the files inside the .idea folder, as this can cause errors or inconsistencies. Instead, we can use the IDE’s graphical user interface (GUI) to configure the project settings and preferences.
.idea 文件夹由 IntelliJ IDEA 根据项目结构和用户操作自动生成和更新。我们不需要手动编辑 .idea 文件夹内的文件,因为这可能会导致错误或不一致。相反,我们可以使用 IDE 的图形用户界面(GUI)来配置项目设置和首选项。
To access the project settings, we can go to File -> Project Structure or press Ctrl+Alt+Shift+S. On macOS shortcut is Command+; This will open a dialog window where we can adjust various options, such as:
要访问项目设置,可以转到 “File” -> “Project Structure” 或按 Windows 上的 Ctrl+Alt+Shift+S。在 macOS 上的快捷键是 Command+;。这将打开一个对话框窗口,我们可以在其中调整各种选项,例如:
- Project SDK and language level
- Project compiler output path
- Modules and dependencies
- Libraries and global libraries
- Artifacts and build tools
- And more
To access the preferences, we can go to File -> Settings or press Ctrl+Alt+S on windows OS. On macOS, we can go to Intellij IDEA -> Settings or press Command+, .This will open another dialog window where we can customize various options, such as:
要访问首选项,可以转到 “File” -> “Settings” 或在 Windows 操作系统上按 Ctrl+Alt+S。在 macOS 上,可以转到 “IntelliJ IDEA” -> “Preferences” 或按 Command+,。这将打开另一个对话框窗口,我们可以在其中自定义各种选项,例如:
- Editor settings, such as code style, fonts, colors, inspections, etc.
- Plugins and marketplace
- Version control settings, such as VCS integration, commit options, branches, etc.
- Tools settings, such as terminal, database, HTTP client, etc.
- And more
We can also use the search bar at the top of the dialog windows to quickly find the option we are looking for.
我们还可以在对话框窗口顶部的搜索栏中使用搜索功能,快速找到我们正在寻找的选项。


设置-》编译器-》排除配置,idea界面与compiler.xml文件对应关系

项目结构-》项目-》sdk 配置(jdk版本),idea界面与compiler.xml文件对应关系

设置-》构建、执行、部署-》构建工具-》Maven-》已忽略的文件 配置对应关系:

我发现.idea目录中的配置文件更新不及时,解决办法:涉及模块、目录结构的项目框架,少改!
idea右边栏maven配置中,子模块是否显示与根pom.xml中<module>标签的关系:
注释 <module>yudao-module-member</module> 并刷新maven(点击蓝色m按键)后,右边栏maven菜单中yudao-module-member子模块不再显示

相关文章:
idea修改模块名导致程序编译出错
本文简单描述分别用Idea菜单、pom.xml文件管理项目模块module 踩过的坑: 通过idea菜单创建模块,并用idea菜单修改模块名,结构程序编译报错,出错的代码莫名奇妙。双击maven弹窗clean时,还是报错。因为模块是新建的&am…...
root用户Linux银河麒麟服务器安装vnc服务
安装必要桌面环境组件 yum install mate-session-manager -y mate-session #确定是否安装成功安装vnc服务器 yum install tigervnc-server -y切换到root为root得vnc设置密码 su root vncpasswd给root用户设置vnc服务器文件 vi /etc/systemd/system/vncserver:1.service [Un…...
CentOS 7使用RPM安装MySQL
MySQL是一个开源的关系型数据库管理系统(RDBMS),允许用户高效地存储、管理和检索数据。它被广泛用于各种应用,从小型的web应用到大型企业解决方案。 MySQL提供了丰富的功能,包括支持多个存储引擎、事务能力、数据完整…...
OpenCV imread函数读取图像__实例详解
OpenCV imread函数读取图像__实例详解 本文目录: 零、时光宝盒 一、imread函数定义 二、imread函数支持的文件格式 三、imread函数flags参数详解 (3.1)、Flags-1时,样返回加载的图像(使用alpha通道,否…...
激光线扫相机无2D图像的标定方案
方案一:基于运动控制平台的标定 适用场景:若激光线扫相机安装在可控运动平台(如机械臂、平移台、旋转台)上,且平台的运动精度已知(例如通过编码器或高精度步进电机控制)。 步骤: 标…...
【安当产品应用案例100集】034-安当KSP支持密评中存储数据的机密性和完整性
安当KSP是一套获得国密证书的专业的密钥管理系统。KSP的系统功能扩展图示如下: 我们知道商用密码应用安全性评估中,需要确保存储的数据不被篡改、删除或者破坏,必须采用合适的安全方案来确保存储数据的机密性和完整性。KSP能否满足这个需求呢…...
08.七种排序算法实现(C语言)
目录 一.排序的基本概念 1.1 排序的概念 1.2 常见的排序算法 二.常见排序算法的实现 2.1 插入排序(直接) 1.基本思想 2.直接插入排序的特性 3.代码实现 2.2 希尔排序 1.基本思想 2.希尔插入排序的特性 3.代码实现 2.3 选择排序 1.基本思想 2…...
Alibaba Spring Cloud 一 核心组件、特性
Alibaba Spring Cloud 是 Alibaba 基于 Spring Cloud 的分布式微服务解决方案,提供了一套高性能、高可靠的微服务开发和运维工具。它扩展了 Spring Cloud 的功能,并优化了许多在生产环境中的实践场景,例如服务发现、配置管理、熔断限流等。 …...
kafka学习笔记7 性能测试 —— 筑梦之路
kafka 不同的参数配置对 kafka 性能都会造成影响,通常情况下集群性能受分区、磁盘和线程等影响因素,因此需要进行性能测试,找出集群性能瓶颈和最佳参数。 # 生产者和消费者的性能测试工具 kafka-producer-perf-test.sh kafka-consumer-perf-t…...
HQChart使用教程30-K线图如何对接第3方数据45- DRAWRADAR数据结构
HQChart使用教程30-K线图如何对接第3方数据45- DRAWRADAR数据结构 效果图DRAWRADARHQChart代码地址后台数据对接说明示例数据数据结构说明效果图 DRAWRADAR DRAWRADAR是hqchart插件独有的绘制雷达图函数,可以通过麦语法脚本来绘制一个简单的雷达图数据。 雷达图显示的位置固定…...
Java集合学习:HashMap的原理
一、HashMap里的Hash是什么? 首先,我们先要搞清楚HashMap里的的Hash是啥意思。 当我们在编程过程中,往往需要对线性表进行查找操作。 在顺序表中查找时,需要从表头开始,依次遍历比较a[i]与key的值是否相等ÿ…...
ETLCloud在iPaas中的是关键角色?
在当今的数字化时代,企业越来越依赖于其处理和分析数据的能力。为了实现这一目标,企业需要将各种异构的应用和数据源集成在一起,形成一个统一的数据视图。在这一过程中,ETL(Extract, Transform, Load)和iPa…...
Docker Hub 全面解析及应对策略
在现代 DevOps 和容器化应用开发中,Docker Hub 是一个不可或缺的工具。然而,一些地区或企业对 Docker Hub 的访问受到限制,甚至全面禁止。这种现象引发了开发者和运维人员的广泛关注。那么,为什么 Docker Hub 会被禁用?…...
第五天 Labview数据记录(5.1 INI配置文件读写)
5.1 INI配置文件读写 INI配置文件是一种简单的文本文件,通常用于存储软件的配置信息。它具有以下作用: 存储软件配置参数方便软件的维护和更新提高软件的灵活性和可扩展性便于用户修改和共享配置 5.1.1 前面板 1)新建项目SaveData_Exampl…...
【算法】经典博弈论问题——巴什博弈 python
目录 前言巴什博弈(Bash Game)小试牛刀PN分析实战检验总结 前言 博弈类问题大致分为: 公平组合游戏、非公平组合游戏(绝大多数的棋类游戏)和 反常游戏 巴什博弈(Bash Game) 一共有n颗石子,两个人轮流拿,每次可以拿1~m颗…...
ES6语法
一、Let、const、var变量定义 1.let 声明的变量有严格局部作用域 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta name"viewport" content"widthdevice-width, initial-scale1.0"&g…...
窥探QCC518x-308x系列与手机之间的蓝牙HCI记录与分析 - 耳机篇
上一篇是介绍如何窥探手机端Bluetooth的HCI log, 本次介绍是如何窥探Bluetooth的HCI log-耳机篇. 这次跟QCC518x/QCC308x测试的手机是Samsung S23 Ultra. QCC518x/QCC308x透过HCI界面取得Log教学. 步骤1: 开启QMDE -> 选择ADK r1102 QCC3083 Headset workspace.步骤2: 点…...
ubuntu k8s 1.31
ubuntu 系统 设置 更新源 apt-get upgradeapt upgradeapt update apt-get update释放root sudo passwd root密码su - 密码设置root可以登录 cd /etc/ssh/sshd_config.d && vi ssh.confPermitRootLogin yes PasswordAuthentication yes:wq 保存退出 systemctl resta…...
Prometheus+grafana实践:Doris数据库的监控
文章来源:乐维社区 Doris数据库背景 Doris(Apache Doris)是一个现代化的MPP(Massive Parallel Processing,大规模并行处理)数据库,主要用于在线分析处理(OLAP)场景。 D…...
【豆包MarsCode蛇年编程大作战】花样贪吃蛇
目录 引言 展示效果 prompt提示信息 第一次提示(实现基本功能) 初次实现效果 第二次提示(美化UI) 第一次美化后的效果 第二次美化后的效果 代码展示 实现在线体验链接 码上掘金使用教程 体验地址: 花样贪吃蛇…...
观成科技:隐蔽隧道工具Ligolo-ng加密流量分析
1.工具介绍 Ligolo-ng是一款由go编写的高效隧道工具,该工具基于TUN接口实现其功能,利用反向TCP/TLS连接建立一条隐蔽的通信信道,支持使用Let’s Encrypt自动生成证书。Ligolo-ng的通信隐蔽性体现在其支持多种连接方式,适应复杂网…...
黑马Mybatis
Mybatis 表现层:页面展示 业务层:逻辑处理 持久层:持久数据化保存 在这里插入图片描述 Mybatis快速入门 
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16...
实现弹窗随键盘上移居中
实现弹窗随键盘上移的核心思路 在Android中,可以通过监听键盘的显示和隐藏事件,动态调整弹窗的位置。关键点在于获取键盘高度,并计算剩余屏幕空间以重新定位弹窗。 // 在Activity或Fragment中设置键盘监听 val rootView findViewById<V…...
rnn判断string中第一次出现a的下标
# coding:utf8 import torch import torch.nn as nn import numpy as np import random import json""" 基于pytorch的网络编写 实现一个RNN网络完成多分类任务 判断字符 a 第一次出现在字符串中的位置 """class TorchModel(nn.Module):def __in…...
回溯算法学习
一、电话号码的字母组合 import java.util.ArrayList; import java.util.List;import javax.management.loading.PrivateClassLoader;public class letterCombinations {private static final String[] KEYPAD {"", //0"", //1"abc", //2"…...
return this;返回的是谁
一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...
springboot整合VUE之在线教育管理系统简介
可以学习到的技能 学会常用技术栈的使用 独立开发项目 学会前端的开发流程 学会后端的开发流程 学会数据库的设计 学会前后端接口调用方式 学会多模块之间的关联 学会数据的处理 适用人群 在校学生,小白用户,想学习知识的 有点基础,想要通过项…...
STM32---外部32.768K晶振(LSE)无法起振问题
晶振是否起振主要就检查两个1、晶振与MCU是否兼容;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容(CL)与匹配电容(CL1、CL2)的关系 2. 如何选择 CL1 和 CL…...
python爬虫——气象数据爬取
一、导入库与全局配置 python 运行 import json import datetime import time import requests from sqlalchemy import create_engine import csv import pandas as pd作用: 引入数据解析、网络请求、时间处理、数据库操作等所需库。requests:发送 …...
