2011-06-29 50 views
9

我使用sbt 0.10如何將scala編譯器選項附加到sbt的scalacOptions中?

我在.sbt文件的如下設置:

scalacOptions += "-usejavacp" 

的問題是,當Scala編譯器得到執行和scalacOptions設置:

[debug] Calling Scala compiler with arguments (CompilerInterface): 
[debug]   -usejavacp 
[debug]   -d 
[debug]   D:\project\target\scala-2.8.1.final\classes 
[debug]   -bootclasspath 
... 

-usejavacp參數之前實際出現斯卡拉罐子導致這個錯誤:

scala.collection.mutable.ListBuffer does not take type parameters 

有沒有一種方法的參數被附加,而不是預先?我也試過++= Array("-usejavacp"),但結果是一樣的。

回答

7

如果你看看here,你會看到這樣的評論:

key += value is equivalent to key ~= (_ :+ value) or key <<= key(_ :+ value)

其中,奇怪的是,似乎違揹你所看到的順序。我認爲這是值得提出的一個問題,同時,你可以使用完整的語法來看看你是否能夠完成你所需要的。

2

直接回答你的問題,定製scalac選項列表,由scalacOptions設置提供,是prepended用於控制類路徑中,輸出目錄和源文件的選項。

假設您使用-usejavacp以編程方式使用Scala編譯器或解釋器。在SBT FAQ有一個這樣的條目。

相關問題