【问题标题】:App Engine Cloud Endpoints Frameworks (Java) - NullPointerException when run locallyApp Engine Cloud Endpoints Frameworks (Java) - 在本地运行时出现 NullPointerException
【发布时间】:2017-05-28 22:27:21
【问题描述】:

我已按照Quickstart for Cloud Endpoints Frameworks on App Engine (Java) 的说明进行操作,除了在本地运行之外,一切正常。当我运行mvn appengine:run 时,我收到失败消息,只收到 /_ah/start 的 503(无休止的自动重试),并且我看到 NullPointerException 堆栈跟踪。我看到了:

[INFO] GCLOUD: May 28, 2017 10:14:35 PM com.google.apphosting.utils.jetty.JettyLogger warn
[INFO] GCLOUD: WARNING: failed endpoints-api-configuration: java.lang.NullPointerException
[INFO] GCLOUD: May 28, 2017 10:14:35 PM com.google.apphosting.utils.jetty.JettyLogger warn
[INFO] GCLOUD: WARNING: Failed startup of context com.google.appengine.tools.development.DevAppEngineWebAppContext@45b4c3a9{/,/Users/clay/java-docs-samples/appengine/endpoints-frameworks-v2/backend/target/echo-1.0-SNAPSHOT}
[INFO] GCLOUD: java.lang.NullPointerException
[INFO] GCLOUD:  at com.google.appengine.api.appidentity.AppIdentityServicePb$GetAccessTokenResponse$Builder.setAccessToken(AppIdentityServicePb.java:6221)
[INFO] GCLOUD:  at com.google.appengine.api.appidentity.dev.LocalAppIdentityService.getAccessToken(LocalAppIdentityService.java:160)
[INFO] GCLOUD:  at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
[INFO] GCLOUD:  at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
[INFO] GCLOUD:  at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
[INFO] GCLOUD:  at java.lang.reflect.Method.invoke(Method.java:498)
[INFO] GCLOUD:  at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.callInternal(ApiProxyLocalImpl.java:541)
[INFO] GCLOUD:  at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.call(ApiProxyLocalImpl.java:484)
[INFO] GCLOUD:  at com.google.appengine.tools.development.ApiProxyLocalImpl$AsyncApiCall.call(ApiProxyLocalImpl.java:461)
[INFO] GCLOUD:  at java.util.concurrent.Executors$PrivilegedCallable$1.run(Executors.java:533)
[INFO] GCLOUD:  at java.security.AccessController.doPrivileged(Native Method)
[INFO] GCLOUD:  at java.util.concurrent.Executors$PrivilegedCallable.call(Executors.java:530)
[INFO] GCLOUD:  at java.util.concurrent.FutureTask.run(FutureTask.java:266)
[INFO] GCLOUD:  at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
[INFO] GCLOUD:  at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
[INFO] GCLOUD:  at java.lang.Thread.run(Thread.java:745)

我在单独的系统/操作系统上进行了尝试,并收到了相同的结果。我错过了什么?还是发生了一些变化而文档尚未更新?能够在本地调试非常重要

【问题讨论】:

  • 我遇到了同样的问题。一步一步地进行,我遇到了同样的失败:尝试设置访问令牌时出现 NullPointerException 和重复的 503 错误。还会收到有关工作目录与 Web 应用程序根目录不同的错误消息。
  • 我也有同样的问题。我还在和它抗争。我认为这与使用 java 8 有关。你安装了 java 8 是吗?
  • 你能运行gcloud auth application-default login再试一次吗?
  • @saiyr 做到了。您可以发布答案以便我接受吗?
  • @shadyhossin 是的,我安装了 java 8。可能是一个因素,但试试 saiyr 的评论

标签: java maven google-app-engine google-cloud-endpoints google-cloud-endpoints-v2


【解决方案1】:

运行gcloud auth application-default login 来解决这个问题。我会更新官方文档。给您带来的不便深表歉意!

【讨论】:

    猜你喜欢
    • 2017-01-13
    • 1970-01-01
    • 2019-02-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-12-01
    • 1970-01-01
    相关资源
    最近更新 更多