问题描述
我正在尝试在 scala-pickling https://github.com/pathikrit/dijon/tree/pickling"rel =" nofollow>我的项目.我尝试模仿 macroid 似乎也使用酸洗,但我在sbt test
上不断收到此错误:
I am trying to use scala-pickling in one of my projects. I tried to mimic the build file of macroid which seems to use pickling too but I keep getting this error on sbt test
:
[error] Modules were resolved with conflicting cross-version suffixes in dijon:
[error] org.scalamacros:quasiquotes _2.10, _2.10.3
java.lang.RuntimeException: Conflicting cross-version suffixes in: org.scalamacros:quasiquotes
at scala.sys.package$.error(package.scala:27)
at sbt.ConflictWarning$.processCrossVersioned(ConflictWarning.scala:47)
at sbt.ConflictWarning$.apply(ConflictWarning.scala:30)
at sbt.Classpaths$$anonfun$61.apply(Defaults.scala:1044)
at sbt.Classpaths$$anonfun$61.apply(Defaults.scala:1044)
完整的构建日志位于此处.我究竟做错了什么?我应该在 build.sbt 中进行哪些更改以解决此问题?我还应该能够针对2.10.x
和2.11.x
进行交叉编译和发布我的库.
Full build log is here. What am I doing wrong? What should I change in my build.sbt to fix this? I also should be able to cross compile and release my library against both 2.10.x
and 2.11.x
.
推荐答案
从2.0.0-M7开始,org.scalamacros % quasiquotes
被交叉转换为二进制(即_2.10
)而不是完整版本(即_2.10.x
) : http://scalamacros.org/news/2014/04/03/macro-paradise-2.0.0-M7.html .看起来您的一个依赖项使用了M7之前的准引用,而另一个依赖项使用了M7之后的准引用.
Starting from 2.0.0-M7, org.scalamacros % quasiquotes
are cross-versioned as binary (i.e. _2.10
) and not as full (i.e. _2.10.x
): http://scalamacros.org/news/2014/04/03/macro-paradise-2.0.0-M7.html. Looks like one of your dependencies uses pre-M7 quasiquotes and another one uses post-M7 quasiquotes.
除了升级使用旧的准引用库的所有依赖项外,我认为这无法解决任何其他问题,因为M7之前的版本和M7之后的准引用库是不兼容的.
I don't think this can fixed in any way other than upgrading all the dependencies that use the old quasiquote library, because pre-M7 and post-M7 quasiquote libraries are incompatible.
这篇关于交叉版本后缀冲突:org.scalamacros:quasiquotes的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!