我已经被SBT项目配置为使用xsbt- web -plugin进行web部署。描述这一点的文档似乎是:
Publishing .war files
这是我到目前为止基于阅读文档所做的:
我用以下命令创建了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项目支持war打包?
发布于 2014-04-28 22:36:31
似乎即使我删除了最后一行addArtifact(artifact in (Compile, packageWar), packageWar),sbt中的package命令仍然构建war文件。这可能是我正在使用的SBT 0.13的新特性或特定特性(文档似乎比较旧),或者可能是为了使用compile命令来打包war文件,而我并不需要这个命令。
https://stackoverflow.com/questions/23337456
复制相似问题