【发布时间】:2016-01-07 19:03:07
【问题描述】:
我有以下课程:
package com.spring.domain;
@Document(collection = "sportactions") // for my mongodb collection
@JsonInclude(JsonInclude.Include.NON_NULL)
public class SportAction extends Action {
//code logic
}
当我编译它时,它给了我以下错误:
Servlet.service() 用于 servlet [dispatcherServlet] 在上下文中的路径 [] 抛出异常 [Handler 处理失败;嵌套异常是 java.lang.NoClassDefFoundError: com/spring/domain/Sportaction(错误 名称:com/spring/domain/SportAction)] 根本原因 java.lang.NoClassDefFoundError: com/spring/domain/Sportaction(错误 名称:com/spring/domain/SportAction)
我很困惑,因为我可以看到我的类名为 SportAction,大写字母 A 而不是小写字母 a,所以我尝试重构我的类名,看看它是否适用于小写字母 @987654324 @。
我收到以下错误:
Servlet.service() 用于 servlet [dispatcherServlet] 在上下文中的路径 [] 抛出异常 [Handler 处理失败;嵌套异常是 java.lang.NoClassDefFoundError: com/spring/domain/SportAction(错误 名称:com/spring/domain/Sportaction)] 根本原因 java.lang.NoClassDefFoundError: com/spring/domain/SportAction(错误 名称:com/spring/domain/Sportaction)
spring 应用程序将完美编译,但是当我尝试使用该类时,它会在运行时出现。
我还在 gradle 上做了几个 clean 和 build ,但它仍然不起作用。
有人知道代码有什么问题吗?
当我尝试从 mongodb 获取 Sportaction 列表时,我的 java 代码的这一行出现了错误:
List<Sportaction> sportactions = mongoTemplate.find(query, Sportaction.class);
【问题讨论】:
-
当您从 IDE、命令行或两者中执行此操作时会发生这种情况吗?
-
我稍后会在命令行上尝试它,但是 gradle 构建是成功的,它只是在运行时爆炸了。我还应该让你知道,我现在在 Mac 上处理代码并且很好。但是当我将它推送到 Windows 时,就会发生错误。
-
我在命令行和 IDE 上尝试过 gradlew clean 然后 gradlew build 和同样的错误结果。
-
您的xml配置中没有误用名称吗?
-
不,我使用的是spring boot,所以没有xml配置文件
标签: java spring servlets gradle