带有依赖项的Scala sbt AutoPlugin。在另一个项目中启用插件时出错

带有依赖项的Scala sbt AutoPlugin。在另一个项目中启用插件时出错,scala,plugins,sbt,Scala,Plugins,Sbt,我正在尝试创建sbt自动插件。 我想创建一个插件,它将自动加载他的所有依赖项,所以我使用NotRiger策略。 我编写了自己的AutoPlugin,它必须从sbt assembly执行汇编任务,如下所示: /build.sbt中的设置 /src/main/scala/myplugin/myplugin.scala中的插件代码 然后我将使用sbt clean compile publishLocal创建工件 在此之后,我创建了一个测试项目,它将使用我的插件 /project/plugins.sbt

我正在尝试创建sbt自动插件。 我想创建一个插件,它将自动加载他的所有依赖项,所以我使用NotRiger策略。 我编写了自己的AutoPlugin,它必须从sbt assembly执行汇编任务,如下所示:

/build.sbt中的设置

/src/main/scala/myplugin/myplugin.scala中的插件代码

然后我将使用sbt clean compile publishLocal创建工件 在此之后,我创建了一个测试项目,它将使用我的插件

/project/plugins.sbt中此项目的设置

/biuld.sbt中的设置

现在我希望能够使用
MyPlugin
task myAssembly,但我的项目
sbt
无法下载项目设置,出现错误:

[error] java.lang.NoClassDefFoundError: sbtassembly/AssemblyPlugin$
我做错了什么?
谢谢你的回答

检查您编写的路径。您确定插件源代码在
src/scala/myplugin/
中吗?不是
src/scala/main/myplugin/
?实际路径是
/src/main/scala/myplugin/myplugin.scala
。我只是打错了字。
package myplugin

import sbt._
import sbtassembly.AssemblyPlugin
import sbtassembly.AssemblyPlugin.autoImport._

object MyPlugin extends AutoPlugin{
  override def trigger = noTrigger
  override def requires = AssemblyPlugin

  object autoImport {
    val myAssembly = taskKey[File]("Assembled file")
  }

  import autoImport._
  override lazy val projectSettings = Seq(
    myAssembly := assembly.value
  )
}
logLevel := Level.Warn

resolvers += "Local Ivy Repository" at "file://"+Path.userHome.absolutePath+"/.ivy2/local"
addSbtPlugin("com.academmedia.ias" % "sbt-pkplace" % "0.0.1")
name := "test-project"
version := "1.0"
scalaVersion := "2.11.8"

lazy val root = (project in file(".")).enablePlugins(myplugin.MyPlugin)
[error] java.lang.NoClassDefFoundError: sbtassembly/AssemblyPlugin$