.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

相关文章
|
7月前
|
缓存 小程序 Android开发
mPaaS问题之更改包名之后就进不了小程序如何解决
mPaaS小程序是阿里巴巴移动平台服务(mPaaS)推出的一种轻量级应用解决方案,旨在帮助开发者快速构建跨平台的小程序应用;本合集将聚焦mPaaS小程序的开发流程、技术架构和最佳实践,以及如何解决开发中遇到的问题,从而助力开发者高效打造和维护小程序应用。
134 1
|
Java Maven
运行JAR包 没有主清单属性解决办法
把下面的代码复制粘贴到maven的pom文件中 更新一下即可
|
Cloud Native Java Go
清理Maven仓库中下载失败的文件
清理Maven仓库中下载失败的文件
201 0
|
7月前
本来能运行但, 过了一会报红: 包不存在
总结: 父子模块的版本还是最好保持一致.
88 1
刚刚能运行的项目, 过了一会报红: 包不存在
一个该项目前半个小时还能运行, 上个厕所的功夫回来就找不到包了
60 0
刚刚能运行的项目, 过了一会报红: 包不存在
|
7月前
|
Windows
pnpm无法加载文件 (解决方法 )
pnpm无法加载文件 (解决方法 )
|
Windows
安装依赖出现: 无法加载文件,因为在此系统上禁止运行脚本
安装依赖出现: 无法加载文件,因为在此系统上禁止运行脚本
100 0
|
安全 Java Windows
​❤️​Windows下创建【任务计划程序】​❤️定期重启服务器中的【JAR包脚本】​❤️实现JAR包重启防止卡顿服务超时中断❤️
​❤️​Windows下创建【任务计划程序】​❤️定期重启服务器中的【JAR包脚本】​❤️实现JAR包重启防止卡顿服务超时中断❤️
414 0
|
Java Maven
一键清除maven仓库中下载失败的jar包(bat文件)
maven是一款非常优秀的项目管理工具,特别是其对项目使用的依赖包的管理,我们只需在pom.xml文件中配置响应的依赖,其就可以帮助我们自动下载所需要的jar包
493 0
一键清除maven仓库中下载失败的jar包(bat文件)
|
存储 Java Android开发
AndroidQ(10.0) 增加包名安装、卸载白名单
AndroidQ(10.0) 增加包名安装、卸载白名单
181 0