网上有很多解决方式,我想到的都汇总起来了,方便以后查看,你可能采用其中一种就能解决问题,我是用了最后一种才解决。
如果你要导入的包在Libraries下都本身一直没有存在,你这时就得看看pom里对应的依赖写的有没有问题,名字版本什么的在使用的仓库中有没有对应的jar包,如果确定没有问题,那么再尝试采取以下的前几种方式解决。
作用:重新导入Maven包
2种方式:
1.选择 Project 目录右键 -> Maven -> reload project
2.maven插件方式刷新(推荐)
作用:清除 Idea 缓存,并且重启 Idea。
很多情况下idea导致的问题通过这个方式基本都能解决。
方式:-> 工具栏 -> File -> Invalidate Caches / Restart
作用:将编码设置成 UTF-8。
方式:都设置成UTF-8,设置完别忘记点击Apply(应用)
方式很多:
1.点击Build菜单下的rebuild
2.在maven插件下的对应项目/模块下点击1,2。install代表重新安装包。
当出现如题所示的错误时候,不用着急,这是因为配置Java的程序包这块出现了错误,同时可能你还没有设置让IDEA自动加载Jar包,才会报出这种错误的。解决方式如下:
File—>Setting—>Build,Execution,Deployment—>Maven—>Importing
ps:我出现的问题用以上方式都没能解决,用接下来的才解决了。希望你不需要看到这里。
8.如果以上方式都没能解决,那毋庸置疑是idea的问题,如果你用的是2020.1~3版的,那有问题的概率更大
解决方式:将IDEA 的 build/run 动作如果委托给了 maven
此时再重新编译运行,能正常通过。
但是,如果你感觉启动变慢的话,你要检查下是不是编译了两遍,可以写个测试类,一编译启动就插入一条数据,看数据库是否会有两条;也可以直接看idea下面的编译框。
为什么会编译两遍呢?
上述委托给maven勾选后,找不到包的问题解决后,但是可能maven插件和idea会先后各编译了一遍。
解决方式:将pom.xml里的编译插件换成
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-surefire-plugin</artifactId> <version>2.22.1</version> <configuration> <skipTests>true</skipTests> </configuration> </plugin>
这时发现只会编译一遍了。本地通过idea启动项目不会有什么问题了。
但是,当你将项目打成包,通过jar方式启动时,可能出现报错,找不到主属性,当然了,没有更好,有的话,继续补充下面的代码就行。
<plugin> <groupId>org.apache.maven.plugins</groupId> <artifactId>maven-compiler-plugin</artifactId> <configuration> <source>1.8</source> <target>1.8</target> </configuration> </plugin> <plugin> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-maven-plugin</artifactId> <executions> <execution> <goals> <goal>repackage</goal> </goals> </execution> </executions> </plugin>