版本
IntelliJ IDEA 2023.2.4
目录结构
Study(Project)
├──JavaSE(Module)
│ └──xxxx
└──JavaWeb(Module)└──xxxx
问题
1.1 在JavaSE项目中正常可以用的单元测试@Test,到了JavaWeb项目中不起作用了
1.2 解决方法
如果是新创建的项目,先在以下位置添加一句-Deditable.java.test.console=true
然后光标移到@Test
附近,Alt+Enter
(快速修复一些错误的快捷键)将JUnit4添加到依赖即可,Ctrl+Alt+Shift+S
可以快速打开项目结构查看结果。
2.1 Jackson包导入到WEB-INF/lib识别不到
2.2 解决方法
导致这个问题的原因其实是没有把WEB-INF/lib添加到依赖(Add as Library
操作),因为之前mysql的jar包不加也行,我推测的原因是当需要使用JDBC相关代码、类的时候,Tomcat 9.0.87
会自己去这个目录下找包(IDEAJavaWeb项目下在WEB-INF添加jar包导致Tomcat无法启动的问题解决记录)。
所以现在我们本地测试需要导入包的代码、类时,本地
不会自己去WEB-INF/lib下找包,所以就会报红。
所以只需要把WEB-INF/lib添加到依赖即可
3 Global、Project和Module区别
其实就是作为Library的**可见范围(可重复使用的范围)**不一样:Global>Project>Module
顾名思义
Global:所有IDEA中的Project项目、Module项目都能找到这个路径中的相关包作为依赖
Project:只有当前Project项目及其中的Module项目能找到这个路径中的相关包作为依赖
Module:只有当前Module项目能找到这个路径中的相关包作为依赖
修改一下这几个lib的名字,添加时就知道该怎么选了
参考
Idea中使用@Test