【发布时间】:2023-03-20 02:48:01
【问题描述】:
环境:
Java API google-api-services-datastore-protobuf v1beta2-rev1-3.0.0.
操作系统:Windows 7。
目标:
使用方法启动本地数据存储服务器:
public void start(String sdkPath, String dataset, String cmdLineOptions)
来自com.google.api.services.datastore.client.LocalDevelopmentDatastore.java,以便在单元测试中使用它。
步骤:
我下载了gcd工具gcd-v1beta2-rev1-3.0.2.zip,放到C:\gcd文件夹
(gcd.cmd 和 gcd.sh 的路径是 `C:\gcd)。
另外,我设置了环境变量:
"DATASTORE_HOST"="http://localhost:8080" and
"DATASTORE_DATASET"="myapp".
问题:
发生LocalDevelopmentDatastoreException。
原因:java.io.IOException: Cannot run program "./gcd.sh" (in directory "C:\gcd"): CreateProcess error=2, 系统找不到指定的文件。
请注意,它会尝试查找./gcd.sh,但不是gcd.cmd。
Java 代码:
String datasetName = "myapp";
String hostName = "http://localhost:8080";
DatastoreOptions options = new DatastoreOptions.Builder()
.host(hostName)
.dataset(datasetName).build();
LocalDevelopmentDatastoreOptions localOptions = new LocalDevelopmentDatastoreOptions.Builder()
.addEnvVar("DATASTORE_HOST", hostName)
.addEnvVar("DATASTORE_DATASET", datasetName).build();
LocalDevelopmentDatastore datastore = LocalDevelopmentDatastoreFactory.get().create(options, localOptions);
datastore.start("C:\\gcd", datasetName);
此代码基于 LocalDevelopmentDatastore.java 文档中的示例。
请帮忙。
【问题讨论】:
标签: java google-app-engine google-cloud-datastore google-api-java-client