0

我从 Java 中得到了这个非常(愚蠢)的错误

Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: models/modelclass (wrong name: models/ModelClass)

所以我在命令行输入一个命令,我宁愿不输入类名的正确大小写。我想输入“modelclass”而不是“ModelClass”。

有没有办法解决这个问题?为什么会存在这个异常?!?

4

1 回答 1

4

存在该错误是因为标准 Java 类加载器对类名区分大小写。

三个选项:

  1. 忽略标准 Java 约定并将所有类命名为小写(不推荐,如果您正在寻找第三方类,也不可能)。
  2. 使用Google 的反射库在类路径中查找类,对给定的输入进行不区分大小写的匹配,并在 Class.forName() 调用中使用从反射中找到的类。
  3. 迭代 #2:编写您自己的类加载器,对类进行不区分大小写的搜索并加载您想要的类。
于 2013-10-09T20:26:40.260 回答