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子模块不再显示
相关推荐
陈平安Java and C1 小时前
MyBatisPlus
java
秋野酱2 小时前
如何在 Spring Boot 中实现自定义属性
java·数据库·spring boot
Bunny02122 小时前
SpringMVC笔记
java·redis·笔记
feng_blog66883 小时前
【docker-1】快速入门docker
java·docker·eureka
枫叶落雨2224 小时前
04JavaWeb——Maven-SpringBootWeb入门
java·maven
xqlily5 小时前
通过 Visual Studio Code 启动 IPython
ide·vscode·ipython
m0_748232395 小时前
SpringMVC新版本踩坑[已解决]
java
码农小灰5 小时前
Spring MVC中HandlerInterceptor和Filter的区别
java·spring·mvc
乔木剑衣5 小时前
Java集合学习:HashMap的原理
java·学习·哈希算法·集合
专职6 小时前
spring boot中实现手动分页
java·spring boot·后端