如果你要导入的包在libraries下都本身一直没有存在,你这时就得看看pom里对应的依赖写的有没有问题,名字版本什么的在使用的仓库中有没有对应的jar包,如果确定没有问题,那么再尝试采取以下的前几种方式解决。
1. 执行maven ->reload project作用:重新导入maven包
2种方式:
1.选择 project 目录右键 -> maven -> reload project
2.maven插件方式刷新(推荐)
2. 执行 invalidate and restart作用:清除 idea 缓存,并且重启 idea。
很多情况下idea导致的问题通过这个方式基本都能解决。
方式:-> 工具栏 -> file -> invalidate caches / restart
3. 统一编码作用:将编码设置成 utf-8。
方式:都设置成utf-8,设置完别忘记点击apply(应用)
4. 重新编译方式很多:
1.点击build菜单下的rebuild
2.在maven插件下的对应项目/模块下点击1,2。install代表重新安装包。
5. 设置idea自动加载jar包当出现如题所示的错误时候,不用着急,这是因为配置java的程序包这块出现了错误,同时可能你还没有设置让idea自动加载jar包,才会报出这种错误的。解决方式如下:
file—>setting—>build,execution,deployment—>maven—>importing
6.删除本地的私有仓库后,再更新maven,重新加载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>
以上就是如何解决import包时报java程序包不存在的问题的详细内容。
