如何解决错误:此服务需要项目ID,但无法确定 [英] How to fix error: A project ID is required for this service but could not be determined

查看:773
本文介绍了如何解决错误:此服务需要项目ID,但无法确定的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我尝试从AppEngine向Google Datastore插入数据,并收到错误消息:

  java.lang .IllegalArgumentException:此服务需要项目标识,但无法从构建器或环境中确定。请使用构建器设置项目ID。 
at com.google.common.base.Preconditions.checkArgument(Preconditions.java:92)
at com.google.cloud.ServiceOptions。< init>(ServiceOptions.java:324)
在com.google.cloud.datastore.DatastoreOptions。< init>(DatastoreOptions.java:85)
在com.google.cloud.datastore.DatastoreOptions。< init>(DatastoreOptions.java:32)
在com.google.cloud.datastore.DatastoreOptions $ Builder.build(DatastoreOptions.java:75)
在com.google.cloud.datastore.DatastoreOptions.defaultInstance(DatastoreOptions.java:123)

以下是我的代码:

  Datastore datastore = DatastoreOptions.defaultInstance()。service(); 
KeyFactory keyFactory = datastore.newKeyFactory()。kind(keyKind);
Key key = keyFactory.newKey(keyName);
实体实体= Entity.builder(键)
.set(name,John Doe)
.set(age,30)
.set( access_time,DateTime.now())
.build();
datastore.put(entity);

如何解决此错误?

解决方案

您是否运行AE标准或 AE Flexible



请确保您的App Engine api jar 在你的类路径(WEB-INF / lib目录)中。

I'm trying to insert data to Google Datastore from AppEngine and I'm getting an error:

java.lang.IllegalArgumentException: A project ID is required for this service but could not be determined from the builder or the environment.  Please set a project ID using the builder.
    at com.google.common.base.Preconditions.checkArgument(Preconditions.java:92)
    at com.google.cloud.ServiceOptions.<init>(ServiceOptions.java:324)
    at com.google.cloud.datastore.DatastoreOptions.<init>(DatastoreOptions.java:85)
    at com.google.cloud.datastore.DatastoreOptions.<init>(DatastoreOptions.java:32)
    at com.google.cloud.datastore.DatastoreOptions$Builder.build(DatastoreOptions.java:75)
    at com.google.cloud.datastore.DatastoreOptions.defaultInstance(DatastoreOptions.java:123)

Here's my code:

Datastore datastore = DatastoreOptions.defaultInstance().service();     
             KeyFactory keyFactory = datastore.newKeyFactory().kind("keyKind"); 
             Key key = keyFactory.newKey("keyName"); 
             Entity entity = Entity.builder(key) 
                 .set("name", "John Doe") 
                 .set("age", 30) 
                 .set("access_time", DateTime.now()) 
                 .build(); 
             datastore.put(entity); 

How do I fix this error?

解决方案

Are you running AE standard or AE Flexible?

Make sure you have the App Engine api jar in your classpath (WEB-INF/lib directory).

这篇关于如何解决错误:此服务需要项目ID,但无法确定的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆