0
我已經通過SBT項目進行了配置,使用xsbt-web-plugin進行web部署。描述此的文檔似乎是:使用xsbt-web-plugin進行SBT戰爭部署
這是我迄今所做的基於閱讀文檔:
:我與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項目支持戰爭包裝?
嗨蘇瑪,你會澄清這個問題嗎?我維護xsbt-web-plugin,所以我想確保文檔儘可能有幫助。你的問題聽起來像你想建立一個WAR文件,但你的評論聽起來像你想*避免*建立一個WAR文件。什麼是期望的目標?它是否需要打包WAR文件?您是否有興趣將WAR文件部署到服務器? – earldouglas
@James我想建立一個戰爭檔案(它是在Jenkins上完成的,然後戰爭使用螞蟻構建部署)。我不太明白什麼是必要的。 「發佈.war文件」中提到的部分可能根本就沒有必要? – Suma
在這種情況下,您需要運行的是來自sbt的'package',或者來自命令行的'sbt package'。這將在* target/scala_2.10 /...*下生成一個WAR文件。在上面的* build.sbt *中,除了'seq(webSettings:_ *)'之外,你不需要任何東西。 – earldouglas