2017-02-13 88 views
0

運行我的sbt構建,我得到以下未解決的依賴關係。播放2.4.x/java.lang.RuntimeException:衝突的跨版本後綴

這是當我運行SBT更新或SBT日食發生了什麼:

[error] (*:update) Conflicting cross-version suffixes in: 
com.typesafe.play:play-functional, com.typesafe.akka:akka-actor, com.typesafe.play:play-json 
, com.typesafe.play:play, com.typesafe.play:play-iteratees, com.typesafe.play:twirl-api, com.typesafe.akka:akka-slf4j, org.scala-stm:scala-stm, com.ty 
pesafe.play:play-datacommons 
[error] Modules were resolved with conflicting cross-version suffixes in {file:/C:/test/}root: 
[error] com.typesafe.play:play-functional _2.11, _2.10 
[error] com.typesafe.akka:akka-actor _2.11, _2.10 
[error] com.typesafe.play:play-json _2.11, _2.10 
[error] com.typesafe.play:play _2.11, _2.10 
[error] com.typesafe.play:play-iteratees _2.11, _2.10 
[error] com.typesafe.play:twirl-api _2.11, _2.10 
[error] com.typesafe.akka:akka-slf4j _2.11, _2.10 
[error] org.scala-stm:scala-stm _2.11, _2.10 
[error] com.typesafe.play:play-datacommons _2.11, _2.10 
java.lang.RuntimeException: Conflicting cross-version suffixes in: com.typesafe.play:play-functional, com.typesafe.akka:akka-actor, com.typesafe.play: 
play-json, com.typesafe.play:play, com.typesafe.play:play-iteratees, com.typesafe.play:twirl-api, com.typesafe.akka:akka-slf4j, org.scala-stm:scala-st 
m, com.typesafe.play:play-datacommons 
     at scala.sys.package$.error(package.scala:27) 
     at sbt.ConflictWarning$.processCrossVersioned(ConflictWarning.scala:46) 
     at sbt.ConflictWarning$.apply(ConflictWarning.scala:32) 
     at sbt.Classpaths$$anonfun$66.apply(Defaults.scala:1164) 
     at sbt.Classpaths$$anonfun$66.apply(Defaults.scala:1161) 
     at scala.Function1$$anonfun$compose$1.apply(Function1.scala:47) 
     at sbt.$tilde$greater$$anonfun$$u2219$1.apply(TypeFunctions.scala:40) 
     at sbt.std.Transform$$anon$4.work(System.scala:63) 
     at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226) 
     at sbt.Execute$$anonfun$submit$1$$anonfun$apply$1.apply(Execute.scala:226) 
     at sbt.ErrorHandling$.wideConvert(ErrorHandling.scala:17) 
     at sbt.Execute.work(Execute.scala:235) 
     at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226) 
     at sbt.Execute$$anonfun$submit$1.apply(Execute.scala:226) 
     at sbt.ConcurrentRestrictions$$anon$4$$anonfun$1.apply(ConcurrentRestrictions.scala:159) 
     at sbt.CompletionService$$anon$2.call(CompletionService.scala:28) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
     at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
     at java.util.concurrent.FutureTask.run(FutureTask.java:266) 
     at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) 
     at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) 
     at java.lang.Thread.run(Thread.java:745) 

我build.sbt有以下幾點:

name := "TestWeb" 

scalaVersion := "2.11.6" 

version := "1.0" 

lazy val root = (project in file(".")).enablePlugins(PlayJava) 

EclipseKeys.preTasks := Seq(compile in Compile) 

EclipseKeys.projectFlavor := EclipseProjectFlavor.Java 
EclipseKeys.createSrc := EclipseCreateSrc.ValueSet(EclipseCreateSrc.ManagedClasses, EclipseCreateSrc.ManagedResources) 

libraryDependencies ++= Seq(
    "org.julienrf" % "play-jsmessages_2.10" % "2.0.0" 
) 

fork in run := true 

我的項目/ plugins.sbt

resolvers += "Typesafe repository" at "http://repo.typesafe.com/typesafe/releases/" 

addSbtPlugin("com.typesafe.play" % "sbt-plugin" % "2.4.6") 

addSbtPlugin("com.typesafe.sbteclipse" % "sbteclipse-plugin" % "5.1.0") 

而且sbt.version = 0.13.8

由於您使用的Scala 2.11我不能添加JsMessages插件...

+1

只要你知道:[Java和JavaScript是非常不同的(http://javascriptisnotjava.io/) –

+0

是的,我要增加對Java和JavaScript翻譯(國際化) – aras0

回答

1

,你需要使用適當的依賴,不2.10。這種改變應該可以幫到你。

libraryDependencies += "org.julienrf" % "play-jsmessages_2.11" % "2.0.0" 
0

2.10play-jsmessages_2.10代表斯卡拉2.10。 Scala二進制兼容性問題(這裏太多了)意味着許多庫都有Scala版本特定的依賴版本。 sbt試圖告訴你,你有2.112.10依賴關係。

如果你使用Scala的2.11.6,你會想要一個jsmessages依賴是與之兼容。