java.lang.NoClassDefFoundError 当文件存在时

标签 java jboss classnotfoundexception

我试图四处寻找可能对我有帮助的帖子,但找不到。

我正在部署 ear 到 JBoss4 服务器,自从我添加了一个新项目后我就开始遇到这个问题。

这个新项目在 eclipse 中定义为 Java 项目,EAR 项目有一个 EJB 项目,该项目将新 Java 项目作为其依赖的项目之一 - 如果通过 eclipse 在本地部署到 JBoss 上,则没有问题并且一切顺利

但是当在测试环境(在 eclipse 之外)中部署到 JBoss 时,在新 Java 项目中定义的类之一上不断出现 java.lang.NoClassDefFoundError。

我查看 EAR 文件以找到 jar(EJB 项目),然后在 jar 中,我可以看到目录结构和新 Java 项目中的所有类文件 - 即。它提示的类就在 EAR->JAR 中并且匹配它正在寻找的确切结构。

我不知道还能看什么。

非常感谢任何指点!

谢谢

最佳答案

如果某些类的编译方式不匹配,您通常会遇到此错误。例如,如果您在未设置 Java 合规性级别的情况下在更高版本的 JDK 中编译了一些类,并且您正在使用早期版本运行它。

我的建议是检查你运行 JBoss 的 JDK,然后检查你是如何编译你的类的

关于java.lang.NoClassDefFoundError 当文件存在时,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4688013/

相关文章:

java - 如何编写java代码REST Assured代码来获取授权 token ?

java - 如何使用 JNI 将图像作为结构参数传递给 libfprint 的 C 函数

java - 表达式的非法开始(Android)

java - 无法从 Java 执行 Linux 命令

java - EAR 在 jboss-as-7.1.1.Final 中自动取消部署

java - 无法在 Jboss-eap-6.4 中部署 Springboot 应用程序

java - 在 QA 和 PROD 中部署时,url 大小超过一定限制时出现 403 错误

java - 为什么线程 "main"java.lang.NoClassDefFoundError :? 中出现异常

尝试从 .jar 文件加载小程序时出现 java.lang.ClassNotFoundException

Javax.persistence 在 TomEE 中不可用