Я настроил проект SBT для использования xsbt-web-plugin для веб-развертывания. Документы, описывающие это, выглядят следующим образом:
Это то, что я сделал до сих пор, основываясь на чтении документов:
Я создал plugins.sbt с помощью:
resolvers += "Web plugin repo" at "http://siasia.github.com/maven2"
addSbtPlugin("com.earldouglas" % "xsbt-web-plugin" % "0.9.0")
В build.sbt добавлены следующие строки:
Seq(webSettings :_*)
// disable .jar publishing
publishArtifact in (Compile, packageBin) := false
// create an Artifact for publishing the .war file
artifact in (Compile, packageWar) := {
val previous: Artifact = (artifact in (Compile, packageWar)).value
previous.copy(`type` = "war", extension = "war")
}
// add the .war file to what gets published
addArtifact(artifact in (Compile, packageWar), packageWar)
При загрузке проекта с помощью sbt плагины загружаются, но затем сообщается о следующей ошибке:
[error] Reference to undefined setting:
[error]
[error] *:packageWar from *:$local (W:\Tempi\TempiJetty\build.sbt:48)
[error] Did you mean compile:packageWar ?
Запись compile:packageWar
вместо packageWar
в последней строке вызывает другую ошибку:
[info] Loading project definition from W:\Tempi\TempiJetty\project
W:\Tempi\TempiJetty\build.sbt:48: error: not found: type packageWar
addArtifact(artifact in (Compile, packageWar), compile:packageWar)
^
[error] Type error in expression
Что я должен написать, чтобы мой проект SBT поддерживал военную упаковку?