我试图在我的播放scala服务(Play v2.5.7)中使用谷歌云数据存储,因为我google-cloud
在build.sbt中添加了依赖项
Run Code Online (Sandbox Code Playgroud)"com.google.cloud" % "google-cloud" % "0.4.0",
没有依赖项,服务器启动正常.但是,添加依赖项后,播放服务器启动会出错:
[info] Loading global plugins from /<redacted>/.sbt/0.13/plugins
[info] Loading project definition from /<redacted>/dev/auth-svc/project
[info] Set current project to authsvc (in build file:/<redacted>/auth-svc/)
--- (Running the application, auto-reloading is enabled) ---
java.lang.NullPointerException
at io.netty.channel.group.DefaultChannelGroup.add(DefaultChannelGroup.java:146)
at play.core.server.NettyServer.bind(NettyServer.scala:140)
at play.core.server.NettyServer.play$core$server$NettyServer$$bindChannel(NettyServer.scala:224)
at play.core.server.NettyServer$$anonfun$1.apply(NettyServer.scala:216)
at play.core.server.NettyServer$$anonfun$1.apply(NettyServer.scala:216)
at scala.Option.map(Option.scala:146)
at play.core.server.NettyServer.<init>(NettyServer.scala:216)
at play.core.server.NettyServerProvider.createServer(NettyServer.scala:279)
at play.core.server.NettyServerProvider.createServer(NettyServer.scala:278)
at play.core.server.DevServerStart$$anonfun$mainDev$1.apply(DevServerStart.scala:235)
at play.core.server.DevServerStart$$anonfun$mainDev$1.apply(DevServerStart.scala:65)
at play.utils.Threads$.withContextClassLoader(Threads.scala:21)
at play.core.server.DevServerStart$.mainDev(DevServerStart.scala:64)
at play.core.server.DevServerStart$.mainDevHttpMode(DevServerStart.scala:54)
at play.core.server.DevServerStart.mainDevHttpMode(DevServerStart.scala)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at …
Run Code Online (Sandbox Code Playgroud) 在搜索有关Google Cloud Datastore的信息时,我偶然发现两个不同的官方文档分支似乎在概念方面具有相同的内容,但提供了基于两个不同API的代码示例:
似乎两个API都支持同一组操作,但我无法弄清楚两者之间的实质性差异.我为什么要选择一个而不是另一个,以及谷歌为何同时提供这两个?