.iml文件删除导致项目启动失败,报“**类**包不存在”

简介: 因为不熟悉iml文件的作用,加上git上是没有提交该文件的,然后看着iml文件一直爆红就很讨厌,就手欠将其删除了,然后项目就各种报,类引用不到,包找不到,项目里的类中引用的类也都爆红,记录下问题的经过。

前言:因为不熟悉iml文件的作用,加上git上是没有提交该文件的,然后看着iml文件一直爆红就很讨厌,就手欠将其删除了,然后项目就各种报,类引用不到,包找不到,项目里的类中引用的类也都爆红,记录下问题的经过。


iml文件是什么?



iml(infomation of module)文件是IDEA自动创建的java模块化文件,用于java应用开发,存储模块开发的信息,比如一个java组件、maven组件都会生成iml文件,该模块会存储一些模块信息和依赖信息。


问题描述



因删除iml文件,启动项目,报各种类、符号找不到,类中引用的其他类很多爆红。


尝试解决方案一:重新编译所有服务



重新编译所有服务,然后编译通过,项目中的引用依然爆红,且项目启动依然是找不到jar、类等文件,该方案失败,但是值得关注的是,运行maven将项目重新编译时,每个项目都生成了iml文件,但是依然不能解决问题。


尝试解决方案二:重新下载git代码



这一次将自己带码整理后,提交到git,然后将本地带码全部删除,从git上从新拉取,然后问题解决。其实还有另外一种解决方案,就是在每个项目的目录下去手动生成一个iml文件,然后也可以解决问题,在项目的根目录下使用命令: mvn idea:module 也可以解决,但是对于几十个服务的项目来说就不太合适了,没有直接拉取带码划算。


问题总结



使用idea加载项目就会有iml文件产生,如果将其删除了使用maven编译也会产生该文件,但是产生的同名的iml文件,再启动项目时却会报错,并不能正常运行。这个问题的起因是因为看iml文件不爽导致,很狗血,之后也查到了怎么将iml文件对git隐藏,使该文件不爆红。


对git隐藏iml文件,使其不爆红



打开setting–>File Types,如下图:


20210311195801468.png


然后选中图中的.gitingore(GitIngore),再点击到下图中的位置,添加*.iml就可以了,IDEA就不会一直提示你这是一个对于git没有执行add操作的文件了。


20210311200032187.png

相关文章
|
6月前
|
缓存 小程序 Android开发
mPaaS问题之更改包名之后就进不了小程序如何解决
mPaaS小程序是阿里巴巴移动平台服务(mPaaS)推出的一种轻量级应用解决方案,旨在帮助开发者快速构建跨平台的小程序应用;本合集将聚焦mPaaS小程序的开发流程、技术架构和最佳实践,以及如何解决开发中遇到的问题,从而助力开发者高效打造和维护小程序应用。
123 1
文件复制到ftp服务器时发生错误,请检查是否有权限将文件放到该服务器上
文件复制到ftp服务器时发生错误,请检查是否有权限将文件放到该服务器上
5441 0
|
Cloud Native Java Go
清理Maven仓库中下载失败的文件
清理Maven仓库中下载失败的文件
193 0
|
11月前
刚刚能运行的项目, 过了一会报红: 包不存在
一个该项目前半个小时还能运行, 上个厕所的功夫回来就找不到包了
50 0
刚刚能运行的项目, 过了一会报红: 包不存在
|
6月前
|
Windows
pnpm无法加载文件 (解决方法 )
pnpm无法加载文件 (解决方法 )
|
Windows
安装依赖出现: 无法加载文件,因为在此系统上禁止运行脚本
安装依赖出现: 无法加载文件,因为在此系统上禁止运行脚本
|
缓存 Java 网络安全
依赖 jar 没有传递,导致找不到类文件而启动失败了
最近频繁遇到找不到类文件错误。 Caused by: java.lang.NoClassDefFoundError:xxx 就这个家伙。
494 0
|
应用服务中间件 编译器 数据库
【bug:eclispe中启动Tomcat警告】无法启动组件、子容器启动失败
【bug:eclispe中启动Tomcat警告】无法启动组件、子容器启动失败
1112 0
【bug:eclispe中启动Tomcat警告】无法启动组件、子容器启动失败
|
XML Java Android开发
AndroidStudio不自动添加新创建的文件到VCS的解决办法
AndroidStudio不自动添加新创建的文件到VCS的解决办法
AndroidStudio不自动添加新创建的文件到VCS的解决办法