Значение sbt не найдено addSbtPlugin при установке onejar-плагина
Я пытаюсь установить однобарабанный плагин sbt, но я получаю следующую ошибку:
sbt/project/plugins/plugins.sbt:5: error: not found: value addSbtPlugin
addSbtPlugin("com.github.retronym" % "sbt-onejar" % "0.6")
Вот соответствующее содержимое моего файла sbt/build.sbt
:
seq(com.github.retronym.SbtOneJar.oneJarSettings: _*)
name := "dsg_nlp"
version := "0.11"
scalaVersion := "2.9.1"
libraryDependencies ++= Seq( "org.scalatest" %% "scalatest" % "1.6.1" % "test" )
libraryDependencies += "commons-lang" % "commons-lang" % "2.6"
traceLevel in run := 0
fork in run := true
javaOptions in run ++= Seq("-Xmx7G", "-agentlib:hprof=cpu=samples,depth=12", "-server", "-enableassertions")
scalacOptions ++= Seq("-optimize")
mainClass in (one-jar, Compile, packageBin) := Some("Test")
И содержимое моего файла project/plugins/plugins.sbt
:
resolvers += "retronym-releases" at "http://retronym.github.com/repo/releases"
resolvers += "retronym-snapshots" at "http://retronym.github.com/repo/snapshots"
addSbtPlugin("com.github.retronym" % "sbt-onejar" % "0.6")
Ответы
Ответ 1
Я бы предложил следующие изменения в коде выше:
- Убедитесь, что у вас есть только одна настройка для каждой строки. Итак, раскол
libraryDependencies ++= Seq( "org.scalatest" %% "scalatest" % "1.6.1" % "test" )
libraryDependencies += "commons-lang" % "commons-lang" % "2.6"
в две строки.
-
Последняя строка должна читать
mainClass in oneJar := Some("Test")
если вы хотите использовать другой mainClass
для oneJar-Plugin. Если он такой же, как в области компиляции. Вы также можете написать это как
mainClass in Compile := Some("Test")
но не указывайте оба.
Структура каталога проекта должна выглядеть следующим образом:
Project-Root /
|-- build.sbt
|-- project/plugins.sbt
фактические имена sbt файлов не имеют значения, они просто должны заканчиваться на .sbt.