使用Google App Engine本地数据存储区的IllegalStateException

Jam*_*dey 1 java google-app-engine runtime-error illegalstateexception

所以我正在尝试App使用Datastore本地运行Google Engine 进行测试和调试.本地App引擎似乎可以独立工作,datastore仿真器也是如此.

但是一旦我为datastore模拟器设置环境变量,并重新启动本地App Engine,它就会因错误而崩溃,

Caused by: java.lang.IllegalStateException: Must use project ID as app ID if project ID is provided. 
Run Code Online (Sandbox Code Playgroud)

我在下面附上了一个更完整的堆栈跟踪

从错误消息中,我怀疑我需要将项目ID更改为项目名称.所以我尝试用我可能的项目名称替换项目id的各种实例,不幸的是,这也没有用.

我正在运行的命令:

1. gcloud config set project PROJECT-ID
2. export ENDPOINTS_SERVICE_NAME=name.endpoints.PROJECT-ID.cloud.goog
3. gcloud beta emulators datastore start
4. $(gcloud beta emulators datastore env-init)
5. mvn appengine:run
Run Code Online (Sandbox Code Playgroud)

我把堆栈跟踪放在pastebin https://pastebin.com/atcnYwrq上

小智 8

我偶然发现了解决这个问题的方法.

export DATASTORE_USE_PROJECT_ID_AS_APP_ID=true
Run Code Online (Sandbox Code Playgroud)