简单的一个记录。
今天玩了会maven。期间发现了一个问题:使用maven管理项目时,无法运行项目内的junit测试,报错信息是无法找到测试类。
我的步骤是这样:在eclipse里创建一个dynamic web project,然后编写一个简单的junit测试。此时这个junit是可以正常运行的。然后在该项目的右键菜单中选择“maven”->“enable dependency management”,并将项目的classpath等设置恢复为eclipse的默认配置,而不使用maven的配置。之后,再次运行junit测试,就报错了。
反复尝试了多次,发现:如果加入maven的依赖管理后,不修改项目的classpath,即使用maven默认的classpath配置,那么junit就可以正常运行。否则,只有右键菜单中选择“run as”->“run configurations”,并为该junit测试单独配置classpath,才能正常运行它。
也就是说,maven不仅修改了项目的classpath信息,也修改了junit测试时所使用的classpath,并且后者没有绑定到前者。因此,项目中的类被编译到了一个路径下,而junit启动时却尝试从另一个路径下去加载测试类,当然找不到咯。
目前我没找到这个问题的解决方法。
转载于:https://blog.51cto.com/winters1224/1172833