NoClassDefFoundError:L =>通过'system'添加到导入路径的“L”会产生错误

时间:2013-10-24 18:02:20

标签: java glassfish netbeans-7

所有

我现在已经有过几次了。我在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”然后显然无法找到它。我以前发现删除类并禁用导入它只是抱怨任何其他文件。

在之前的项目中,我有一些自动创建的实体类,并且在删除它们时发生了错误,即使它们没有与导入相关的错误。当我把实体类放回去时,错误也消失了。

如果有人能提供帮助,我们将不胜感激。

1 个答案:

答案 0 :(得分:1)

您看到的是班级org.utils.sql.SqlUtils的内部名称。

有关说明,请参阅Java虚拟机规范中的4.3 Descriptors and Signatures。前缀L表示类型是一个类,正如您在那里看到的那样。

正如Darkhogg在评论中提到的,问题很可能是因为您在类路径中缺少包含类org.utils.sql.SqlUtils的库。