所有
我现在已经有过几次了。我在Netbeans上创建一个新的Java Enterprise Web应用程序,在运行MySql的glassfish上添加Primefaces 4,Spring
我的ejb项目中有一些参考工具类,我通过Mac上的Finder / Explorer添加了类。清洁& build工作得很好,但是当我想部署时,我得到了错误:
java.lang.NoClassDefFoundError:Lorg / utils / sql / SqlUtils;
这是我在org / utils / sql / SqlUtils中正确导入的类,但由于某种原因,它在前面添加了一个“L”然后显然无法找到它。我以前发现删除类并禁用导入它只是抱怨任何其他文件。
在之前的项目中,我有一些自动创建的实体类,并且在删除它们时发生了错误,即使它们没有与导入相关的错误。当我把实体类放回去时,错误也消失了。
如果有人能提供帮助,我们将不胜感激。
答案 0 :(得分:1)
您看到的是班级org.utils.sql.SqlUtils
的内部名称。
有关说明,请参阅Java虚拟机规范中的4.3 Descriptors and Signatures。前缀L
表示类型是一个类,正如您在那里看到的那样。
正如Darkhogg在评论中提到的,问题很可能是因为您在类路径中缺少包含类org.utils.sql.SqlUtils
的库。