由於Scala 2.10.1即將推出,我相信,我想確保我現在發佈的工件將自動與該版本的scala-library.jar一起工作。我用SBT 0.12.2發佈,並與scala-library.jar版本中發佈的工件
scalaVersion := "2.10.0"
的設置我得到正確安裝二進制兼容的版本我的神器,例如
<artifactId>mylibrary_2.10</artifactId>
...但Scala庫的依賴仍表示2.10.0:
<dependency>
<groupId>org.scala-lang</groupId>
<artifactId>scala-library</artifactId>
<version>2.10.0</version> <!-- !!! -->
</dependency>
我想這是不正確的,應該使用2.10或2.10 +這裏?
我也嘗試添加scalaBinaryVersion := "2.10"
但這似乎並沒有改變任何東西。
我的另一個想法是使用scalaVersion := "2.10.+"
。 Sbt永遠帶着Getting Scala 2.10.+ ...
,但它終於正常了,pom
現在有這個版本的scala-library.jar。所以也許這是正確的方法?
顯然這是'交叉構建'更常見的。有關更多信息,請參閱http://www.scala-sbt.org/release/docs/Detailed-Topics/Cross-Build。我無法告訴您您找到的解決方案是否正確。 – EECOLOR 2013-02-14 17:41:46
嗯,我現在可以說的一件事是'2.10。+'增加了嚴重的問題。我在隨機地方發現了自己的typer錯誤,直到我發現某個項目已經繪製了一個scala-compiler.jar'2.10.1-RC1',它顯然是_not binary compatible_。 – 2013-02-15 23:59:47
那麼,Scala庫的版本等於您定位的Scala版本,因爲版本2.10.1的scala-library與scala-library 2.10.0不同。所有的Scala 2.10版本都應該是二進制兼容的。你可以發佈從2.10.0切換到2.10.1時發生的錯誤嗎? – 2013-03-26 17:31:19