我的主要内容中有一个枚举Provider
'项目。在我的服务器项目中(使用Servlets和Google App Engine),我已经链接到了这个项目。我可以在我的Server项目中使用这个主项目中的类,但是当从我的Enum访问值时,我得到:
java.lang.NoClassDefFoundError: gamemain/network/Provider
当我运行服务器项目然后使用枚举时,我得到了这个。为什么这只是这个枚举而不是其他类?我该怎么办呢?
编辑: 我已经解决了#39;它通过手动将Provider.java文件从主项目复制到服务器项目中。然而,这不是解决问题的方法,而是一种黑客攻击,因为我现在必须保留2份副本。我还在寻找这个问题的答案:为什么要导出所有类,而不是我的枚举(导致NoClassDefFoundError)?
答案 0 :(得分:0)
不幸的是,链接项目还不够。您必须将在服务器端(或整个项目,如果它不是太大)上使用的类导出到.jar
,并将其添加到war/WEB-INF/lib
目录。否则它们将无法用于App Engine实例。