scala 2.13-编译插件时出错
我想创建一个sbt插件 这是我的项目 build.sbt文件:scala 2.13-编译插件时出错,scala,sbt,sbt-plugin,scala-2.13,Scala,Sbt,Sbt Plugin,Scala 2.13,我想创建一个sbt插件 这是我的项目 build.sbt文件: lazy val root = (project in file(".")). settings( name := "test-plagin", version := "0.1.0", organization := "com.test", scalaVersion := "2.13.0", sbtPlugin := true, ) 带有任务的主文件 import sbt.{Auto
lazy val root = (project in file(".")).
settings(
name := "test-plagin",
version := "0.1.0",
organization := "com.test",
scalaVersion := "2.13.0",
sbtPlugin := true,
)
带有任务的主文件
import sbt.{AutoPlugin, TaskKey}
object HelloPlugin extends AutoPlugin {
object autoImport {
val sayHello: TaskKey[Unit] = TaskKey("saying hello")
}
import autoImport._
override def projectSettings = Seq(
sayHello := {
println("hello")
}
)
}
在编译过程中,我遇到一个错误:
java.lang.NoClassDefFoundError:scala/collection/immutable/StringOps
当我将版本更改为2.12.6时,编译成功。
如何修复2.13中的错误?sbt是用Scala 2.12编写的
因此,sbt插件应该使用Scala 2.12。sbt是用Scala 2.12编写的
因此,您应该将Scala 2.12用于sbt插件。好的,谢谢,但是在Scala 2.13的项目中,如何导入Scala 2.12插件?您所说的“导入”是什么意思?插件项目(2.12)有Scala版本,使用插件的项目有Scala版本(例如2.13)。我的意思是我有两个项目:一个是版本为2.12的Scala插件,我把它推到了artifactory,所以它有一些主机/artifactory/sbt发布/com/test/test-plugin_2.12_1.0/0.1.0/test-plugin-0.1.0.jar。我有scala 2.13的第二个项目,我想在这个项目中添加插件,但它在forlder 2.13Do
sbt publishLocal
中搜索插件项目,并在project/plugins.sbt
中为第二个项目编写addSbtPlugin(“com.organization”%%“sbt yourplugin”%%“plugin inversion”)
。好的,谢谢,但是在一个Scala2.13的项目中,我怎样才能导入Scala2.12插件呢?你说的“导入”是什么意思?插件项目(2.12)有Scala版本,使用插件的项目有Scala版本(例如2.13)。我的意思是我有两个项目:一个是版本为2.12的Scala插件,我把它推到了artifactory,所以它有一些主机/artifactory/sbt发布/com/test/test-plugin_2.12_1.0/0.1.0/test-plugin-0.1.0.jar。我有scala 2.13的第二个项目,我想在这个项目中添加插件,但是它在forlder 2.13Dosbt publishLocal
中搜索插件项目,并在project/plugins.sbt
中为第二个项目编写addSbtPlugin(“com.organization”%%“sbt yourplugin”%%“plugin inversion”)
。