2015-10-07 12 views
13

ile açılımlar ve enjektör hatası yapılandırıldı, bu yüzden build.sbt için aşağıdaki bağımlılıkları ekleyin:A zaten play-kaygan benim oyun projesine kaygan tanıtmak istiyorum

"com.typesafe.play"   %% "play-slick"    % "1.0.1"  withSources(), 
    "com.typesafe.play"   %% "play-slick-evolutions" % "1.0.1"  withSources(), 

Ardından, denetleyici için bir tümleştirme belirtimi çalıştırdığımda, hem Intellij IDE hem de komut satırı aktivatör testinde aşağıdaki istisnayı aldım. Ben jdbc bağımlılığı, ben komut satırını kullanırken geçirilen entegrasyon spec kaldırdıktan sonra https://www.playframework.com/documentation/2.4.x/PlaySlickFAQ#A-binding-to-play.api.db.DBApi-was-already-configured

aşağıdaki hata olarak Intellij IDE testi çalıştırdığınızda ancak ben hala aynı hata var: Google'da sonra çözüm buldu iç içe geçmiş bir paketi üzerinde koşmak çağrılırken karşılaşılan İstisna - enjektörü oluşturulamadı, aşağıdaki hataları bakın:

1) A binding to play.api.db.DBApi was already configured at play.api.db.DBModule.bindings(DBModule.scala:25): 
Binding(interface play.api.db.DBApi to ProviderConstructionTarget(class play.api.db.DBApiProvider)) (via modules: com.google.inject.util.Modules$OverrideModule -> play.api.inject.guice.GuiceableModuleConversions$$anon$1). 
    at play.api.db.slick.evolutions.EvolutionsModule.bindings(EvolutionsModule.scala:15): 
Binding(interface play.api.db.DBApi to ConstructionTarget(class play.api.db.slick.evolutions.internal.DBApiAdapter) in interface javax.inject.Singleton) (via modules: com.google.inject.util.Modules$OverrideModule -> play.api.inject.guice.GuiceableModuleConversions$$anon$1) 

1 error 
com.google.inject.CreationException: Unable to create injector, see the following errors: 

1) A binding to play.api.db.DBApi was already configured at play.api.db.DBModule.bindings(DBModule.scala:25): 
Binding(interface play.api.db.DBApi to ProviderConstructionTarget(class play.api.db.DBApiProvider)) (via modules: com.google.inject.util.Modules$OverrideModule -> play.api.inject.guice.GuiceableModuleConversions$$anon$1). 
    at play.api.db.slick.evolutions.EvolutionsModule.bindings(EvolutionsModule.scala:15): 
Binding(interface play.api.db.DBApi to ConstructionTarget(class play.api.db.slick.evolutions.internal.DBApiAdapter) in interface javax.inject.Singleton) (via modules: com.google.inject.util.Modules$OverrideModule -> play.api.inject.guice.GuiceableModuleConversions$$anon$1) 

1 error 
    at com.google.inject.internal.Errors.throwCreationExceptionIfErrorsExist(Errors.java:466) 
    at com.google.inject.internal.InternalInjectorCreator.initializeStatically(InternalInjectorCreator.java:155) 
    at com.google.inject.internal.InternalInjectorCreator.build(InternalInjectorCreator.java:107) 
    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.test.FakeApplication.<init>(Fakes.scala:216) 
    at org.scalatestplus.play.OneServerPerSuite$class.app(OneServerPerSuite.scala:152) 

cevap

4

muhtemelen bunun için kaygan kullanırsanız mantıklı değil jdbc bağımlılığı ekledik. Çıkarın ve işe yarayacak. : // www Eğer benim gibi iseniz

29

, sen

libraryDependencies ++= Seq(
    jdbc, 
    cache, 
    ws, 
    specs2 % Test, 
    "mysql" % "mysql-connector-java" % "5.1.37", 
    "com.typesafe.play" %% "play-slick" % "1.1.1", 
    "com.typesafe.play" %% "play-slick-evolutions" % "1.1.1" 
) 

jdbc

libraryDependencies ++= Seq(
    //jdbc, //<<---- this one here 
    cache, 
+0

Aslında resmi [SSS] (https yoktur kaldırmak için build.sbt içinde böyle bir şey var Bu sorunu açıklayan .playframework.com/documentation/2.5.x/PlaySlickFAQ # A-binding-to-play.api.db.DBApi-önceden yapılandırılmış). –