значение sbt не найдено addSbtPlugin при установке плагина onejar - PullRequest
0 голосов
/ 07 декабря 2011

Я пытаюсь установить плагин sbt one-jar , но получаю следующую ошибку:

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 Ответ

3 голосов
/ 12 декабря 2011

Я бы предложил следующие изменения в коде выше:

  • Убедитесь, что у вас есть только один параметр на строку.Поэтому разбейте

   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.

...