java - Maven项目在eclipse中抛出ClassNotFoundException

标签 java eclipse spring maven spring-mvc

当在 Eclipse 中运行带有 Maven 依赖项的 Spring Boot 应用程序时,我在启动时出现以下异常:

java.lang.NoClassDefFoundError: org/springframework/web/context/support/GenericWebApplicationContext
at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.8.0_92]
at java.lang.ClassLoader.defineClass(Unknown Source) ~[na:1.8.0_92]
at java.security.SecureClassLoader.defineClass(Unknown Source) ~[na:1.8.0_92]
at java.net.URLClassLoader.defineClass(Unknown Source) ~[na:1.8.0_92]
at java.net.URLClassLoader.access$100(Unknown Source) ~[na:1.8.0_92]
at java.net.URLClassLoader$1.run(Unknown Source) ~[na:1.8.0_92]
at java.net.URLClassLoader$1.run(Unknown Source) ~[na:1.8.0_92]
at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_92]
at java.net.URLClassLoader.findClass(Unknown Source) ~[na:1.8.0_92]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[na:1.8.0_92]
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) ~[na:1.8.0_92]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[na:1.8.0_92]
at java.lang.ClassLoader.defineClass1(Native Method) ~[na:1.8.0_92]
at java.lang.ClassLoader.defineClass(Unknown Source) ~[na:1.8.0_92]
at java.security.SecureClassLoader.defineClass(Unknown Source) ~[na:1.8.0_92]
at java.net.URLClassLoader.defineClass(Unknown Source) ~[na:1.8.0_92]
at java.net.URLClassLoader.access$100(Unknown Source) ~[na:1.8.0_92]
at java.net.URLClassLoader$1.run(Unknown Source) ~[na:1.8.0_92]
at java.net.URLClassLoader$1.run(Unknown Source) ~[na:1.8.0_92]
at java.security.AccessController.doPrivileged(Native Method) ~[na:1.8.0_92]
at java.net.URLClassLoader.findClass(Unknown Source) ~[na:1.8.0_92]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[na:1.8.0_92]
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) ~[na:1.8.0_92]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[na:1.8.0_92]
at java.lang.Class.forName0(Native Method) ~[na:1.8.0_92]
at java.lang.Class.forName(Unknown Source) ~[na:1.8.0_92]
at org.springframework.boot.SpringApplication.createApplicationContext(SpringApplication.java:574) ~[spring-boot-1.3.0.RELEASE.jar:1.3.0.RELEASE]
at org.springframework.boot.SpringApplication.doRun(SpringApplication.java:325) ~[spring-boot-1.3.0.RELEASE.jar:1.3.0.RELEASE]
at org.springframework.boot.SpringApplication.run(SpringApplication.java:295) ~[spring-boot-1.3.0.RELEASE.jar:1.3.0.RELEASE]
at co.hafiz.cm.launcher.Launcher.lambda$0(Launcher.java:33) [classes/:na]
at java.util.concurrent.FutureTask.run(Unknown Source) ~[na:1.8.0_92]
at java.lang.Thread.run(Unknown Source) ~[na:1.8.0_92]
Caused by: java.lang.ClassNotFoundException: org.springframework.web.context.support.GenericWebApplicationContext
at java.net.URLClassLoader.findClass(Unknown Source) ~[na:1.8.0_92]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[na:1.8.0_92]
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source) ~[na:1.8.0_92]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[na:1.8.0_92]
... 32 common frames omitted

在 Eclipse 的 Maven 依赖项中我得到: enter image description here

如您所见spring-web可用其中包含 org.springframework.web.context.support.GenericWebApplicationContext 会出现什么问题?

最佳答案

在我的 Spring Boot 项目中添加依赖项 spring-boot-starter-web 解决了同样的错误。另外,您似乎对 Spring Boot 有很多不必要的依赖项。在 Spring 框架中可能需要一些,但在 Spring Boot 中则不需要。

关于java - Maven项目在eclipse中抛出ClassNotFoundException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41542159/

相关文章:

java - 如何将正确的 Spring 上下文连接到我的 Cucumber 测试?

java - 我相信这个算法是 O(N)。我对么?

java - 使用 ClassLoader 加载资源

java - ArrayList不存储值

android - Android 中的 AES key 生成

java - 在eclipse中,如何调用从控制台读取的函数?

java - 反编译java类文件并与svn对比

java - tomcat8 和 eclipse 火星噩梦

java - 使用 JobRegistryBeanPostProcessor bean 时,sql 脚本不起作用

java - 如何在 Angularjs 和 Spring mvc 中创建 json 复杂对象