2011-06-29 27 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有一个这样的条目。

相关问题