0

我在 GWT 上使用 mapDB 时遇到问题,我在这一行中发现了错误:

File utilizzo = new File("saveme.db");

DB db;

db = DBMaker.newFileDB(utilizzo).closeOnJvmShutdown().make();

错误在第三行,是:

2014 年 11 月 20 日上午 11:20:30 com.google.appengine.tools.development.ApiProxyLocalImpl 日志 GRAVE:javax.servlet.ServletContext 日志:调度传入 RPC 调用 com.google.gwt.user.server.rpc.UnexpectedException 时出现异常:服务方法'public abstract java.lang.String com.sample.Doodle.client.GreetingService.greetServer(java.util.ArrayList) throws java.lang.IllegalArgumentException'抛出了一个意外的异常:java.lang.NoClassDefFoundError: org/mapdb /数据库制造商

4

2 回答 2

1

当我更改一个已经持久化的对象时,我遇到了同样的错误。当 DBMaker 尝试创建现有数据库时,它会尝试将持久对象映射到类路径中的现有类。如果该类已更改签名 - 即名称或包 - 它不能映射到持久对象,因此 ClassNotFoundException。

于 2015-04-24T09:26:46.560 回答
0

此错误表示服务器上没有可用的类。将 jar 添加到类路径中是不够的 - 您还需要将其添加到您的/WEB-INF/lib文件夹中。

如果您使用 Eclipse,请选择您的项目并查看 Problems 选项卡。那里可能会出现警告,表明特定资源在服务器上不可用。右键单击此警告并选择“复制到...”选项。或者手动将此 jar 添加到此文件夹中。

于 2014-11-20T16:38:08.437 回答