SBT自动插件项目交叉编译配置问题求助
解决SBT Auto Plugin中settings方法的重载错误
我一眼就发现问题所在啦——你在配置crossScalaVersions的时候用了普通的赋值符号=,但在SBT的项目设置体系里,所有配置项都得用**键值对绑定符号:=**才行!
修正后的build.sbt代码
lazy val foo = (project in file(".")).settings( name := "foo", sbtPlugin := true, organization := "com.foo", crossScalaVersions := Seq("2.11.8", "2.12.4") // 关键:把=替换成:= )
错误原因解释
SBT的settings方法只接受一系列Def.Setting[_]类型的参数,而:=是SBT专门用来创建这种设置实例的操作符。你之前用crossScalaVersions = Seq(...)只是在做普通的变量赋值,生成的是一个Seq[String]类型的值,完全不符合settings方法的参数要求,所以才会抛出“重载方法无法匹配”的错误。
内容的提问来源于stack exchange,提问作者Knows Not Much
相关产品推荐
相关产品推荐

