Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/scala/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
scala 2.13-编译插件时出错_Scala_Sbt_Sbt Plugin_Scala 2.13 - Fatal编程技术网

scala 2.13-编译插件时出错

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

我想创建一个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.{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.13Do
sbt publishLocal
中搜索插件项目,并在
project/plugins.sbt
中为第二个项目编写
addSbtPlugin(“com.organization”%%“sbt yourplugin”%%“plugin inversion”)