【问题标题】:How to copy java GAE local_db.bin from one computer to the other?如何将 java GAE local_db.bin 从一台计算机复制到另一台计算机?
【发布时间】:2013-01-08 15:21:03
【问题描述】:

我正在和朋友一起开发一个 Web 应用程序。他启动了该项目,并且拥有用于测试的正确本地数据存储。我需要将此数据存储复制到我的本地应用程序,但不知道如何。我已经尝试将他的local_db.bindatastore-indexes-auto.xml 复制到我的appengine-generated 文件夹,但没有成功。

有没有办法做到这一点?

【问题讨论】:

  • “它不起作用”是什么意思?我一直这样做。
  • 真的吗?这很奇怪。当我使用我的local_db.bin 版本时,我会到达我需要的屏幕,但是当我使用我的朋友版本时,我不会去任何地方。这就像应用程序正在加载,但它不是(永远不会结束)。 (编辑)哦,我忘了,但是_ah/admin 部分也没有使用我的朋友文件显示任何实体。

标签: java google-app-engine gwt google-cloud-datastore


【解决方案1】:

您描述的问题通常发生在新版本的应用与 local_db.bin 文件不兼容时,或者当您升级到新的 App Engine SDK 时。

最好的解决方案是使用 Mercurial 或 Git,并在存储库中包含 local_db.bin 文件。然后您可以签入所有更改,它将使 local_db.bin 与代码更改保持同步。还要确保团队的所有成员都使用相同的 SDK。

【讨论】:

  • 也许你是对的。刚刚发现我们正在使用不同版本的 gwt skd(我的是 2.5,他的是 2.4)。不过,appengine sdk 版本是相同的。我不知道它是否合适,但我们使用的 jdk 版本略有不同(我的是 jdk1.6.0_35,他的是 jdk1.6.0_31)。我将尝试使用他的 gwt sdk 并查看 local_db.bin 是否有效。谢谢!
  • 刚刚尝试使用其他版本的 gwt,但本地数据存储为空。我猜Java版本不会导致这种问题(我之前什至用Java 7运行过这个项目没有问题)。其他建议?
  • local_db.bin 是一个序列化的 Java 对象。根据 Google 的 Ikai Lan 的说法,“当我们尝试从文件中读取对象并且无法反序列化时,我们只是从一个空的数据存储开始。”这意味着如果 App Engine SDK 相同,那么您的代码会有一些差异。
  • 顺便说一句,验证您是否确实替换了 local_db.bin 文件 - 在运行您的应用程序之前检查它的大小。
  • 我们的代码是一样的(我们使用 Git,但直到今天才共享 local_db.bin =))。我也验证了文件(我的文件比我朋友的小几倍)。 Ikai Lan 的评论正是发生的事情。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-04-22
  • 1970-01-01
  • 2021-11-27
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多