我试图四处寻找可能对我有帮助的帖子,但找不到。
我正在部署 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/