我正在尝试复制 java guestbook example在 AppEngine 上的 Quercus 上,我收到与准备查询有关的错误:
$greetings = $datastore->prepare($query)->asIterable();
我不是java开发人员,所以我无法理解错误跟踪。如何在不触发此错误的情况下获取问候语项目?
这是完整的错误页面:
HTTP ERROR 500
Problem accessing /index.php. Reason:
INTERNAL_SERVER_ERROR
Caused by:
java.lang.NullPointerException at com.google.appengine.api.datastore.dev.LocalDatastoreService.next(LocalDatastoreService.java:1089) at sun.reflect.GeneratedMethodAccessor8.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.callInternal(ApiProxyLocalImpl.java:498) at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.call(ApiProxyLocalImpl.java:452) at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.call(ApiProxyLocalImpl.java:430) at java.util.concurrent.Executors$PrivilegedCallable$1.run(Unknown Source) at java.security.AccessController.doPrivileged(Native Method) at java.util.concurrent.Executors$PrivilegedCallable.call(Unknown Source) at java.util.concurrent.FutureTask$Sync.innerRun(Unknown Source) at java.util.concurrent.FutureTask.run(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(Unknown Source) at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at java.lang.Thread.run(Unknown Source)
最佳答案
如果是空指针异常,那么您正在尝试访问空对象的方法或属性
首先,您需要检查 $datastore 是否为 null,然后检查查询的返回值是否不为 null。此外,您还需要检查该错误是否出现在该特定代码行上(也许它在其他地方失败)
您可以通过此链接/_ah/admin 访问数据库。也许那里有一个腐败的实体
关于java - App Engine/Quercus 数据存储区准备查询错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8555675/