2015-10-07 6 views
13

मैं अपने खेलने परियोजना के लिए चालाक परिचय करना चाहते हैं के साथ विकास ने और इंजेक्टर त्रुटि, तो मैं build.sbt के लिए निम्न निर्भरता जोड़ें:एक play.api.db.DBApi के लिए बाध्य पहले से ही कॉन्फ़िगर किया गया था, प्ले-चालाक

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

फिर, जब मैं नियंत्रक के लिए एकीकरण spec चलाता हूं तो मुझे इंटेलिज आईडीई और कमांड लाइन एक्टिवेटर परीक्षण दोनों पर निम्नलिखित अपवाद मिलते हैं। https://www.playframework.com/documentation/2.4.x/PlaySlickFAQ#A-binding-to-play.api.db.DBApi-was-already-configured

बाद मैं JDBC निर्भरता, एकीकरण कल्पना पारित कर दिया जब मैं कमांड लाइन का उपयोग कर हटा दिया, लेकिन मैं अब भी जब मैं निम्न त्रुटि के रूप में Intellij आईडीई पर परीक्षण चलाने एक ही त्रुटि मिली:: गूगल के बाद मैंने पाया समाधान अपवाद जब एक नेस्टेड सूट पर रन लागू का सामना करना पड़ा - इंजेक्टर बनाने में असमर्थ है, तो निम्न त्रुटियों को देखने के:

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) 

उत्तर

4

आप शायद JDBC करने के लिए निर्भरता यदि आप इसके लिए चालाक का उपयोग करें जो मतलब नहीं है जोड़ लिया है। इसे हटा दें और यह काम करेगा।

29

तुम मुझे पसंद कर रहे हैं, तो आप अपने build.sbt में कुछ इस तरह की है

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

वास्तव में, वहाँ (https है एक अधिकारी [FAQ]: // www .playframework.com/दस्तावेज़ीकरण/2.5.x/PlaySlickFAQ # ए-बाइंडिंग-टू-प्ले.एपीआईबीबी.डीबीपीआई-पहले से ही कॉन्फ़िगर किया गया था) इस समस्या का वर्णन करता है। –

संबंधित मुद्दे

 संबंधित मुद्दे