Spring教程noClassDefFoundError

时间:2014-05-13 08:37:21

标签: spring noclassdeffounderror

我正在关注位于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

1 个答案:

答案 0 :(得分:0)

在动态网络项目中,您需要确保有关此java.lang.NoClassDefFoundError:错误的两件事

  1. 将所有需要Jar放在Web-Inf \ lib文件夹
  2. 同样在Deployment Assembly中添加这些jar参考。 enter image description here
  3. 现在你缺少Spring在运行时所需的Jar ..请在此处查看详细信息

    java.lang.ClassNotFoundException: org.springframework.ui.ModelMap

    如果您正在使用maven等,可能还有其他原因。

    此错误org/springframework/ui/ModelMap表示服务器在加载时找不到类。它不是编译问题,实际上是运行时问题..