Scala.js交叉项目错误依赖

时间:2016-11-14 15:32:39

标签: scala sbt scala.js sbt-assembly

在我的build.sbt我有一个跨项目(js + jvm),我依赖于我的另一个项目中的jvm部分(让我们称之为events)。这是我build.sbt的一部分:

lazy val common = (crossProject in file(“common”)).enablePlugins(ScalaJSPlugin)
lazy val common_js = common.js
lazy val common_jvm = common.jvm
lazy val events = (project in file (“events)).dependsOn(common_jvm)

但是当我执行sbt events/assembly时,此设置失败。错误如下:

java.lang.RuntimeException: deduplicate: different file contents found in the following:
JS_DEPENDENCIES
/Users/riakovle/.coursier/cache/v1/https/repo1.maven.org/maven2/org/scala-js/scalajs-library_2.11/0.6.13/scalajs-library_2.11-0.6.13.jar:JS_DEPENDENCIES

如果我执行dependencyGraph,我看到我的events项目取决于common:common_sjs0.6_2.11:0.1-SNAPSHOT,前面提到的scalajs-library来自它。 所以看起来我的常见js依赖关系以某种方式悄然发生,即使我还没有指定它。我做错了什么?

1 个答案:

答案 0 :(得分:1)

您可能直接或通过ScalaJSPlugin在JVM项目上指定crossProject。只有在创建常规SBT项目时才需要插件,因为crossProject会自动为JS子项目包含它。