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.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老鸟提示:新建模块时,命名要遵守规范,因为修改module名称很麻烦,创建后少修改。

②idea创建模块时,会将新建模块名称写入父模块pom.xml文件中:

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子模块不再显示
相关推荐
学习中.........11 分钟前
Java 并发容器深度解析:从早期遗留类到现代高并发架构
java·开发语言·架构
无所事事O_o15 分钟前
你真的理解 volatile 关键字了吗?
java
北冥湖畔的燕雀22 分钟前
C++日志系统:从原理到实战实现
java·开发语言
java修仙传23 分钟前
Java 实习日记:一次 Excel 导入校验 Bug 的定位与数据更新逻辑优化
java·数据库·bug·excel·后端开发
稽稽稽稽不如人25 分钟前
《从零开始的java从入门到入土的学习生活——Java后端篇》Chapter21——Java后端篇学习记录——Redis初步入门
java·学习·生活
前端小超人rui28 分钟前
Jupyter 介绍
ide·python·jupyter
ID_1800790547328 分钟前
淘宝店铺所有商品 API 接口:核心能力与数据返回参考
java·服务器·前端
珂玥c38 分钟前
新增硬盘有脏数据如何处理——ubuntu16.04
linux·数据库·ide
轻刀快马41 分钟前
浅聊Java反射
java·开发语言
Gerardisite42 分钟前
企业微信智能客服开发实战:API自动回复指南
java·开发语言·python·机器人·企业微信