我正在关注位于here的Spring教程(链接到第1章,但我目前正在第2章,第2.2部分)。我大学有两年的Java经验,但我以前从未做过任何关于Spring的事情,这就是为什么我认为一步一步的教程会有所帮助。
问题是,本教程提供了一个下载所有必要jar文件的链接,但链接现在指向spring projects page。那里的“Spring Framework”链接似乎要求你从GitHub下载它,我做了,但是这个下载似乎没有任何jar文件。因此,每当教程说使用某个jar文件时,我只是用Google搜索并在其他地方找到它,一切似乎都运行正常。
所以这就是问题所在:在步骤2.2“改进控制器”我按照说明进入了
部分“我们重新运行'测试'目标,测试通过”
但是你可能已经猜到了,它对我不起作用,给出了以下错误:
[junit] ------------- Standard Error -----------------
[junit] May 13, 2014 8:40:40 AM springapp.web.HelloController handleRequest
[junit] INFO: Returning hello view with Tue May 13 08:40:40 BST 2014
[junit] ------------- ---------------- ---------------
[junit] Testcase: testHandleRequestView(springapp.web.HelloControllerTests):
Caused an ERROR
[junit] org/springframework/ui/ModelMap
[junit] java.lang.NoClassDefFoundError: org/springframework/ui/ModelMap
[junit] at org.springframework.web.servlet.ModelAndView.getModelMap(Mode
lAndView.java:205)
[junit] at org.springframework.web.servlet.ModelAndView.addObject(ModelA
ndView.java:227)
[junit] at org.springframework.web.servlet.ModelAndView.<init>(ModelAndV
iew.java:127)
[junit] at springapp.web.HelloController.handleRequest(HelloController.j
ava:26)
[junit] at springapp.web.HelloControllerTests.testHandleRequestView(Hell
oControllerTests.java:13)
[junit] Caused by: java.lang.ClassNotFoundException: org.springframework.ui.
ModelMap
[junit] at java.lang.ClassLoader.loadClass(ClassLoader.java:356)
[junit]
[junit]
[junit] Test springapp.web.HelloControllerTests FAILED
BUILD FAILED
我有Googled NoClassDefFoundError,其中一个原因似乎是缺少jar文件。我认为就是这种情况,因为我通过谷歌发现了它们。
所以我的问题是,我是否正确认为这是问题所在,如果有的话,是否有人知道我错过了什么jar文件以及在哪里找到它?或者之前有没有人完成本教程并且可以为我提供这些罐子?
提前致谢!
编辑:这些是我目前在war / WEB-INF / lib中的jar,它们都被添加到构建路径中:
commons-logging-1.1.3.jar
servlet-api.jar
junit-4.11.jar
jstl.jar
standard.jar
spring-webmvc.jar
spring.jar
答案 0 :(得分:0)
在动态网络项目中,您需要确保有关此java.lang.NoClassDefFoundError:
错误的两件事
现在你缺少Spring在运行时所需的Jar ..请在此处查看详细信息
java.lang.ClassNotFoundException: org.springframework.ui.ModelMap
如果您正在使用maven等,可能还有其他原因。
此错误org/springframework/ui/ModelMap
表示服务器在加载时找不到类。它不是编译问题,实际上是运行时问题..