spring - Spring 如何在 Spring Boot 中的何处解决“java.lang.NoClassDefFoundError: org/springframework/data/mapping/context/MappingContext”?
问题描述
我正在使用 Java 8 和 Spring Boot。尝试构建一个位于 MongoDB 上的简单 REST 应用程序。我的 Gradle 构建文件中有这个
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-mongodb:2.1.5.RELEASE'
implementation 'org.springframework.boot:spring-boot-starter-web:2.1.5.RELEASE'
implementation 'org.springframework.boot:spring-boot-dependencies:2.1.5.RELEASE'
}
但是当我开始我的应用程序时,我收到一个关于找不到类的错误,“org/springframework/data/mapping/context/MappingContext”:
localhost:todoapp-backend davea$ java -jar ./build/libs/spring-data-mongodb-example-1.0.jar
Exception in thread "main" java.lang.NoClassDefFoundError: org/springframework/data/mapping/context/MappingContext
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Class.java:2701)
at java.lang.Class.getDeclaredMethod(Class.java:2128)
at org.springframework.boot.loader.MainMethodRunner.run(MainMethodRunner.java:47)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:87)
at org.springframework.boot.loader.Launcher.launch(Launcher.java:50)
at org.springframework.boot.loader.JarLauncher.main(JarLauncher.java:51)
Caused by: java.lang.ClassNotFoundException: org.springframework.data.mapping.context.MappingContext
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at org.springframework.boot.loader.LaunchedURLClassLoader.loadClass(LaunchedURLClassLoader.java:94)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
我应该包括哪些其他依赖项才能找到丢失的类?
解决方案
您应该使用 Springboot Gradle 插件。它将解决您所有的依赖问题。
plugins {
id 'java
id 'org.springframework.boot' version '2.1.5.RELEASE'
}
apply plugin: 'io.spring.dependency-management'
dependencies {
implementation 'org.springframework.boot:spring-boot-starter-data-mongodb'
implementation 'org.springframework.boot:spring-boot-starter-web'
}
推荐阅读
- python - 如何将函数作为参数传递给其他函数?我的代码如下
- outlook-web-addins - 在 Outlook 加载项信息消息中添加 HTML 标记
- c# - CS0266 无法转换类型
- android - 后续通知不会重新加载 Main Activity
- arrays - For 循环和 If Else 语句的 InputMismatchException 问题
- powershell - cURL 命令在 git bash 中有效,但在 cmd 和 powershell 中无效
- c - mvaddch() 不打印连续字符
- angular - 类可以在点击时相对于它们的索引添加到两个 div
- javascript - 从 div 到 div 来回移动和/或拖动元素并动态捕获它的 div 字符串
- python - 如何使用 PyNCO ncap2 修改 netcdf 文件?