Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/343.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java GAE数据存储-无法在Windows上以编程方式启动LocalDevelopmentDatastore_Java_Google App Engine_Google Cloud Datastore_Google Api Java Client - Fatal编程技术网

Java GAE数据存储-无法在Windows上以编程方式启动LocalDevelopmentDatastore

Java GAE数据存储-无法在Windows上以编程方式启动LocalDevelopmentDatastore,java,google-app-engine,google-cloud-datastore,google-api-java-client,Java,Google App Engine,Google Cloud Datastore,Google Api Java Client,环境: Java APIgoogle API服务数据存储协议v1beta2-rev1-3.0.0 操作系统:Windows7 目标: 使用以下方法启动本地数据存储服务器: public void start(String sdkPath, String dataset, String cmdLineOptions) 来自com.google.api.services.datastore.client.LocalDevelopmentDatastore.java,以便在单元测试中使用它 步骤:

环境:
Java API
google API服务数据存储协议v1beta2-rev1-3.0.0

操作系统:Windows7

目标:
使用以下方法启动本地数据存储服务器:

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".  
问题:

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);
发生LocalDevelopmentDatastoreException。
原因:java.io.IOException:无法运行程序“/gcd.sh”(在目录“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文档中的示例


请提供帮助。

该方法似乎只被编程为查找
gcd.sh
,因为它似乎没有在您的配置中出现任何有助于避免失败的内容。我建议您在中打开缺陷报告

>你考虑使用数据存储吗? 它还有一个选项,用于以编程方式启动本地数据存储,使用该选项可以在Windows上运行