本文主要是介绍Day23_学点儿IDEA_单元测试@Test在新module项目中失效、Jackson核心对象 ObjectMapper识别不到,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
版本
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
这篇关于Day23_学点儿IDEA_单元测试@Test在新module项目中失效、Jackson核心对象 ObjectMapper识别不到的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!