我的应用程序抛出此错误:
Error : An error occurred trying to instantiate an instance of the API adapter "org.datanucleus.api.jdo.JDOAdapter"
(perhaps you dont have the requisite datanucleus-api-XXX jar in the CLASSPATH?) :
{1}
org.datanucleus.exceptions.NucleusUserException: Error :
An error occurred trying to instantiate an instance of the API adapter "org.datanucleus.api.jdo.JDOAdapter" (perhaps you dont have the requisite datanucleus-api-XXX jar in the CLASSPATH?) :
{1}
...
at org.mortbay.thread.QueuedThreadPool$PoolThread.run(QueuedThreadPool.java:582)
虽然我的应用程序确实有
datanucleus-api-jdo-3.0.0-release.jar
如果不缺少罐子,可能是什么原因?
编辑:
已提出解决此问题的建议:
这是偶发性错误,有时会在任何情况下发生
持久性类,但更多用于并行使用的类。
它发生在JDO和JPA中,好像本地数据存储区一样
锁定特定的表/实体组而忘记释放它;
从而导致对ds操作的所有后续调用均失败。一世
通常不必重启Eclipse;只是停止然后开始
服务器趋向于解决问题,如果不能解决,则完全刷新/清理
构建会成功。
但是,我已经重新启动了GAE服务器并重新运行了我的应用程序,但仍然收到相同的错误。
这是完整的POM.xml
这是完整的stack trace.
最佳答案
使用最新版本。包括所有依赖项(jdo-api,datanucleus-api-jdo)。阅读文档,了解CLASSPATH中需要什么(例如,类的增强版本)。
关于java - 调试JDO错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11076051/