Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/18.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
Scala 准备使用带间隙框架的neo4j螺栓_Scala_Jdbc_Playframework_Neo4j_Neo4j Bolt - Fatal编程技术网

Scala 准备使用带间隙框架的neo4j螺栓

Scala 准备使用带间隙框架的neo4j螺栓,scala,jdbc,playframework,neo4j,neo4j-bolt,Scala,Jdbc,Playframework,Neo4j,Neo4j Bolt,除了MySQL数据库之外,我还想从Play Framework应用程序访问Neo4j数据库。MySQL访问正常工作。在准备通过螺栓访问Neo4j的代码时,我有: 在project build.sbt中添加了对驱动程序的引用: libraryDependencies ++= Seq( jdbc, cache, ws, specs2 % Test, "org.mindrot" % "jbcrypt" % "0.3m", "mysql" % "mysql-connector-j

除了MySQL数据库之外,我还想从Play Framework应用程序访问Neo4j数据库。MySQL访问正常工作。在准备通过螺栓访问Neo4j的代码时,我有:

在project build.sbt中添加了对驱动程序的引用:

libraryDependencies ++= Seq(
  jdbc,
  cache,
  ws,
  specs2 % Test,
  "org.mindrot" % "jbcrypt" % "0.3m",
  "mysql" % "mysql-connector-java" % "5.1.38",
  "org.neo4j" % "neo4j-bolt" % "3.0.1"
)
我重新启动了activator,看着它显然解决/检索了我现在可以在~/.ivy2/…中找到的依赖项

我还在application.conf中放置了对我的数据库的引用,如以下代码段所示:

db.default = {
  driver: com.mysql.jdbc.Driver
  url: "jdbc:mysql://127.0.0.1/borg"
  username: "borg"
  password: "XXXXX"
}

# Bolt port # defaults to 7687 I hope
db.neo4j = {
  driver: org.neo4j.jdbc.Driver
  url: "jdbc:neo4j:bolt://neo.myco.com"
  username: "neo4j"
  password: "XX"
}
我还没有编写任何Scala代码来尝试访问数据库。简单地将此规范添加到application.conf会导致应用程序在从站点检索到任何信息时失败,如下面的stacktrace所示。我注意到一条关于“未找到驱动程序[org.neo4j.jdbc.Driver}]”的消息,奇怪的是,它在一个特殊的位置有一个右括号。我不知道这是不是在转移注意力。有什么见解或经验吗

CreationException: Unable to create injector, see the following errors: 

1) Error in custom provider, Configuration error: Configuration error[Cannot connect to database [neo4j]]
  while locating play.api.db.DBApiProvider
  while locating play.api.db.DBApi for field
    at play.api.db.NamedDatabaseProvider.dbApi(DBModule.scala:80)
  while locating play.api.db.NamedDatabaseProvider
  at com.google.inject.util.Providers$GuicifiedProviderWithDependencies.initialize(Providers.java:149)
  at play.api.db.DBModule$$anonfun$namedDatabaseBindings$1.apply(DBModule.scala:34):
Binding(interface play.api.db.Database qualified with QualifierInstance(@play.db.NamedDatabase(value=default)) to ProviderTarget(play.api.db.NamedDatabaseProvider@746bce08)) (via modules: com.google.inject.util.Modules$OverrideModule -> play.api.inject.guice.GuiceableModuleConversions$$anon$1) 
Caused by: Configuration error: Configuration error[Cannot connect to database [neo4j]]
    at play.api.Configuration$.configError(Configuration.scala:178)
    at play.api.Configuration.reportError(Configuration.scala:829)
    at play.api.db.DefaultDBApi$$anonfun$connect$1.apply(DefaultDBApi.scala:48)
    at play.api.db.DefaultDBApi$$anonfun$connect$1.apply(DefaultDBApi.scala:42)
    at scala.collection.immutable.List.foreach(List.scala:381)
    at play.api.db.DefaultDBApi.connect(DefaultDBApi.scala:42)
    at play.api.db.DBApiProvider.get$lzycompute(DBModule.scala:72)
    at play.api.db.DBApiProvider.get(DBModule.scala:62)
    at play.api.db.DBApiProvider.get(DBModule.scala:58)
    at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)
    at com.google.inject.internal.BoundProviderFactory.provision(BoundProviderFactory.java:72)
    at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:61)
    at com.google.inject.internal.BoundProviderFactory.get(BoundProviderFactory.java:62)
    at com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:54)
    at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
    at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:93)
    at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:80)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
    at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:80)
    at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:62)
    at com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:984)
    at com.google.inject.util.Providers$GuicifiedProviderWithDependencies.initialize(Providers.java:149)
    at com.google.inject.util.Providers$GuicifiedProviderWithDependencies$$FastClassByGuice$$2a7177aa.invoke(<generated>)
    at com.google.inject.internal.cglib.reflect.$FastMethod.invoke(FastMethod.java:53)
    at com.google.inject.internal.SingleMethodInjector$1.invoke(SingleMethodInjector.java:57)
    at com.google.inject.internal.SingleMethodInjector.inject(SingleMethodInjector.java:91)
    at com.google.inject.internal.MembersInjectorImpl.injectMembers(MembersInjectorImpl.java:132)
    at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:93)
    at com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:80)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
    at com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:80)
    at com.google.inject.internal.Initializer$InjectableReference.get(Initializer.java:174)
    at com.google.inject.internal.Initializer.injectAll(Initializer.java:108)
    at com.google.inject.internal.InternalInjectorCreator.injectDynamically(InternalInjectorCreator.java:174)
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110)
    at com.google.inject.Guice.createInjector(Guice.java:96)
    at com.google.inject.Guice.createInjector(Guice.java:73)
    at com.google.inject.Guice.createInjector(Guice.java:62)
    at play.api.inject.guice.GuiceBuilder.injector(GuiceInjectorBuilder.scala:126)
    at play.api.inject.guice.GuiceApplicationBuilder.build(GuiceApplicationBuilder.scala:93)
    at play.api.inject.guice.GuiceApplicationLoader.load(GuiceApplicationLoader.scala:21)
    at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1$$anonfun$2.apply(DevServerStart.scala:153)
    at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1$$anonfun$2.apply(DevServerStart.scala:150)
    at play.utils.Threads$.withContextClassLoader(Threads.scala:21)
    at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(DevServerStart.scala:150)
    at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(DevServerStart.scala:121)
    at scala.Option.map(Option.scala:146)
    at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1.apply(DevServerStart.scala:121)
    at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1.apply(DevServerStart.scala:119)
    at scala.util.Success.flatMap(Try.scala:231)
    at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1.apply(DevServerStart.scala:119)
    at play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1.apply(DevServerStart.scala:111)
    at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24)
    at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24)
    at java.util.concurrent.ForkJoinTask$RunnableExecuteAction.exec(ForkJoinTask.java:1402)
    at java.util.concurrent.ForkJoinTask.doExec(ForkJoinTask.java:289)
    at java.util.concurrent.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1056)
    at java.util.concurrent.ForkJoinPool.runWorker(ForkJoinPool.java:1689)
    at java.util.concurrent.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:157) 
Caused by: Configuration error: Configuration error[Driver not found: [org.neo4j.jdbc.Driver}]]
    at play.api.Configuration$.configError(Configuration.scala:178)
    at play.api.PlayConfig.reportError(Configuration.scala:1048)
    at play.api.db.DefaultDatabase$$anonfun$driver$1.apply(Databases.scala:115)
    at play.api.db.DefaultDatabase$$anonfun$driver$1.apply(Databases.scala:109)
    at scala.Option.map(Option.scala:146)
    at play.api.db.DefaultDatabase.driver$lzycompute(Databases.scala:109)
    at play.api.db.DefaultDatabase.driver(Databases.scala:108)
    at play.api.db.DefaultDatabase.dataSource$lzycompute(Databases.scala:123)
    at play.api.db.DefaultDatabase.dataSource(Databases.scala:122)
    at play.api.db.DefaultDatabase.getConnection(Databases.scala:143)
    at play.api.db.DefaultDatabase.getConnection(Databases.scala:139)
    at play.api.db.DefaultDBApi$$anonfun$connect$1.apply(DefaultDBApi.scala:44) 
    ... 56 more 
Caused by: @70ombh24b: Cannot load Driver
    at play.utils.Reflect$.createInstance(Reflect.scala:137)
    at play.api.db.DefaultDatabase$$anonfun$driver$1.apply(Databases.scala:111) 
    ... 65 more 
Caused by: java.lang.ClassNotFoundException: org.neo4j.jdbc.Driver
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:348)
    at play.utils.Reflect$.getClass(Reflect.scala:142)
    at play.utils.Reflect$.createInstance(Reflect.scala:131) 
    ... 66 more
CreationException:无法创建喷油器,请参阅以下错误:
1) 自定义提供程序中出错,配置错误:配置错误[无法连接到数据库[neo4j]]
查找play.api.db.dbaprovider时
查找字段的play.api.db.DBApi时
at play.api.db.NamedDatabaseProvider.dbApi(DBModule.scala:80)
查找play.api.db.NamedDatabaseProvider时
位于com.google.inject.util.Providers$GuicifiedProviderWithDependencies.initialize(Providers.java:149)
在play.api.db.DBModule$$anonfun$namedatabasebindings$1.apply(DBModule.scala:34)中:
绑定(接口play.api.db.Database,使用限定符instance(@play.db.namedatabase(value=default))限定)到ProviderTarget(play.api.db)。NamedDatabaseProvider@746bce08))(通过modules:com.google.inject.util.modules$OverrideModule->play.api.inject.guice.GuiceableModuleConversions$$anon$1)
原因:配置错误:配置错误[无法连接到数据库[neo4j]]
at play.api.Configuration$.configError(Configuration.scala:178)
at play.api.Configuration.reportError(Configuration.scala:829)
at play.api.db.DefaultDBApi$$anonfun$connect$1.apply(DefaultDBApi.scala:48)
at play.api.db.DefaultDBApi$$anonfun$connect$1.apply(DefaultDBApi.scala:42)
位于scala.collection.immutable.List.foreach(List.scala:381)
at play.api.db.DefaultDBApi.connect(DefaultDBApi.scala:42)
at play.api.db.dbaprovider.get$lzycompute(DBModule.scala:72)
at play.api.db.dbaprovider.get(DBModule.scala:62)
at play.api.db.dbaprovider.get(DBModule.scala:58)
位于com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:81)
位于com.google.inject.internal.BoundProviderFactory.provision(BoundProviderFactory.java:72)
位于com.google.inject.internal.ProviderInternalFactory.CircularTarget(ProviderInternalFactory.java:61)
位于com.google.inject.internal.BoundProviderFactory.get(BoundProviderFactory.java:62)
位于com.google.inject.internal.SingleFieldInjector.inject(SingleFieldInjector.java:54)
在com.google.inject.internal.MembersInjectorImpl.injectMembers上(MembersInjectorImpl.java:132)
在com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:93)上
在com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:80)上
位于com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1103)
在com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:80)
在com.google.inject.internal.MembersInjectorImpl.injectMembers上(MembersInjectorImpl.java:62)
位于com.google.inject.internal.InjectorImpl.injectMembers(InjectorImpl.java:984)
位于com.google.inject.util.Providers$GuicifiedProviderWithDependencies.initialize(Providers.java:149)
位于com.google.inject.util.Providers$GuicifiedProviderWithDependencies$$FastClassByGuice$$2a7177aa.invoke()
位于com.google.inject.internal.cglib.reflect.$FastMethod.invoke(FastMethod.java:53)
位于com.google.inject.internal.SingleMethodInjector$1.invoke(SingleMethodInjector.java:57)
位于com.google.inject.internal.SingleMethodInjector.inject(SingleMethodInjector.java:91)
在com.google.inject.internal.MembersInjectorImpl.injectMembers上(MembersInjectorImpl.java:132)
在com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:93)上
在com.google.inject.internal.MembersInjectorImpl$1.call(MembersInjectorImpl.java:80)上
位于com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1092)
在com.google.inject.internal.MembersInjectorImpl.injectAndNotify(MembersInjectorImpl.java:80)
位于com.google.inject.internal.Initializer$InjectableReference.get(Initializer.java:174)
位于com.google.inject.internal.Initializer.injectAll(Initializer.java:108)
在com.google.inject.internal.InternalInjectorCreator.injectDynamicly上(InternalInjectorCreator.java:174)
在com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:110)上
位于com.google.inject.Guice.createInjector(Guice.java:96)
位于com.google.inject.Guice.createInjector(Guice.java:73)
位于com.google.inject.Guice.createInjector(Guice.java:62)
at play.api.inject.guice.GuiceBuilder.injector(GuiceInjectorBuilder.scala:126)
at play.api.inject.guice.GuiceApplicationBuilder.build(GuiceApplicationBuilder.scala:93)
at play.api.inject.guice.GuiceApplicationLoader.load(GuiceApplicationLoader.scala:21)
在play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1$$anonfun$2.apply(DevServerStart.scala:153)
在play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1$$anonfun$2.apply(DevServerStart.scala:150)
在播放时.utils.Threads$.withContextClassLoader(Threads.scala:21)
在play.core.server.DevServerStart$$anonfun$mainDev$1$$anon$1$$anonfun$get$1$$anonfun$apply$1$$anonfun$1.apply(DevServerStart.scala:150)
在play.core.server.DevServer