【发布时间】:2012-06-18 01:18:12
【问题描述】:
我的应用程序抛出此错误:
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;只是停止然后开始 服务器倾向于解决问题,如果没有,则完全刷新/清理 build 会成功的。
但是,我已经重新启动了我的 GAE 服务器并重新运行我的应用程序仍然遇到相同的错误。
这里是完整的 POM.xml
这里是完整的 stack trace.
【问题讨论】:
-
如前所述,查看日志、堆栈跟踪等。
-
是的,查看堆栈跟踪我可以看到源自 QueuedThreadPool.java 的错误,并在互联网上搜索这是人们的建议:“这是不时发生的零星错误任何可持久化的类”
-
@DataNucleus 我已编辑问题以显示建议的解决方案
-
3.0.0-release 不是最新版本,之后还有很多3.0.x版本。这类错误归结为其他事情,而不是“零星问题”(除非 Jetty 在某些情况下没有提供正确的类路径),但随后发布完整的堆栈跟踪会告诉更多信息......一旦你更新到使用最新版本
-
好的,我明白了,我必须更新到最新版本,看看是否能解决问题。
标签: java google-app-engine jdo datanucleus