在Eclipse中进行开发时,我的Google App Engine数据存储本地文件在哪里?

时间:2018-11-27 21:31:16

标签: eclipse google-app-engine google-cloud-datastore

我正在使用Eclipse中的Google Cloud Tools以Java开发Google App Engine项目。我为使用App Engine数据存储区向项目添加了Maven依赖项。我运行的代码既写入数据存储又读取数据。

当我通过 localhost:8080 / _ah / admin 浏览到本地管理控制台时,没有任何数据可供查看。根据我的阅读,项目的 / WEB-INF / appengine-generated 目录中应该有一个本地数据存储文件。但是该目录永远不会创建,显然文件也不会创建。

项目属性中是否有某个地方定义了该文件的创建位置?并且管理控制台没有任何理由看不到写入数据存储区的数据吗?

1 个答案:

答案 0 :(得分:1)

用于Eclipse的Cloud Tools支持运行多个 Development App Server ,包括在每个服务器中运行相同的App Engine服务。因此我们不能使用源目录进行部署,因为不同的实例会相互干扰。

相反,服务的每个实例都被复制到<workspace>/.metadata/.plugins/org.eclipse.wst.server.core/tmp<X>/<service-name>中的部署区域中。我们应该做得更好以暴露该位置。

首次与Def App Server的数据存储区模拟器进行交互时,应该会在控制台上看到一些消息,以标识数据存储区文件的位置。

Nov 29, 2018 12:25:38 PM com.google.appengine.api.datastore.dev.LocalDatastoreService init
INFO: Local Datastore initialized: 
    Type: High Replication
    Storage: /Users/bsd/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/test-imageservice-3079/WEB-INF/appengine-generated/local_db.bin
Nov 29, 2018 12:25:38 PM com.google.appengine.api.datastore.dev.LocalDatastoreService load
INFO: The backing store, /Users/bsd/workspace/.metadata/.plugins/org.eclipse.wst.server.core/tmp0/test-imageservice-3079/WEB-INF/appengine-generated/local_db.bin, does not exist. It will be created.
Nov 29, 2018 12:26:08 PM com.google.appengine.api.datastore.dev.LocalDatastoreService$11 run
INFO: Time to persist datastore: 8 ms

您还可以通过编辑服务器启动配置并添加--generated_dir命令行参数来告知Development App Server,如下所示:

enter image description here