一些IDE使用过程中的问题,方便查看。
报applicationContext.xml文件找不到
我们一般会把applicationContext.xml放src/main/resources下,如果该目录下确实有applicationContext.xml,那有可能是没把src/main/resources设置为resource root,使用右键菜单“Mark Directory As”,将src/main/resources目录设置为resource root即可。
有时候遇到报mybatis的Mapper不存在的情况,也是因为没有把Mapper.xml所在的src/main/resources目录标记为resource root的原因。
明明有依赖库,代码却不能识别
多执行几次maven reload,看能不能把依赖库刷出来。实在不行,点击File -> Invalidate Caches菜单,清IDE缓存并重启IDE解决。
junit版本的问题
junit-vintage-engine
是 JUnit 4 中使用的测试引擎。 junit-jupiter-engine
是 JUnit 5 中使用的测试引擎。
有时,用IDEA执行UT出错:
警告: TestEngine with ID 'junit-vintage' failed to discover tests
org.junit.platform.commons.JUnitException: Failed to parse version of junit:junit: 4.13.1
google之,原因如下:
Due to a bug in JUnit, junit-vintage-engine:5.6.2 did not support JUnit 4.13.2. It only supported 4.12 or 4.13
可以把junit版本从4.13.1降为4.12.
maven reload失败或三方库下载不下来
其实maven仓里是有库的,但就是同步失败,此时要确保maven package先执行通过,再刷几次reload按钮试试,一般就能把三方库下下来了。
再不行,退出IEAE重进试试。
总的说来,应该是IDEA哪里的缓存没清导致。
Library source does not match the bytecode for class
只能用File -> Invalidate Caches and Restart 来解决了。
资源文件如何将unicode编码escape成中文
设置Setting -> Editor -> File Encodings的Transparentnative-to-ascii conversion为true
修改模块名
IEDA重构菜单里的rename即可,这时会弹出三个选项:
rename directory
rename module
rename module and directory
选最后一项,但IDE只会改模块和目录名,相关的pom文件、workspace文件都不会跟着调整。还是需要手工调整pom文件解决(.idea目录下的workspace文件可以手工输入一行空行,触发IDE的自动调整)。
IDEA里的模块变灰
造成这个的原因可能是idea忽略了maven模块,可以如下解决方法:
菜单file -> setting,搜索maven,然后选择Ignored Filess,看右边的面板中变灰的maven模块是否处于勾选状态。勾选表示忽略了这个模块的pom文件。取消勾选即可解决。
IDEA工程全都乱掉怎么整?
暴力解决:移走.idea文件夹,再重新打开根pom,强制IDE重建工程。
不过这样一来,一些项目setting就要重新设置,比如:maven setting、run configuration等,所以可拿新生成的.idea跟移走的.idea做个对比,恢复一些必要的设置。