【问题标题】:SBT war deployment with xsbt-web-plugin使用 xsbt-web-plugin 进行 SBT 战争部署
【发布时间】:2014-06-13 18:50:33
【问题描述】:

我已通过 SBT 项目配置为使用 xsbt-web-plugin 进行 Web 部署。描述这一点的文档似乎是:

xsbt-web-plugin Wiki

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 项目支持战争打包?

【问题讨论】:

    标签: sbt war xsbt-web-plugin


    【解决方案1】:

    似乎即使我删除了最后一行addArtifact(artifact in (Compile, packageWar), packageWar)sbt 中的package 命令仍会构建war 文件。这可能是新的或特定于我正在使用的 SBT 0.13(文档似乎更旧),或者可能是为了使用我不需要的 compile 命令打包 war 文件。

    【讨论】:

    • 嗨,Suma,你能澄清一下这个问题吗?我维护 xsbt-web-plugin,所以我想确保文档尽可能有用。您的问题听起来像是您想要构建一个 WAR 文件,但您的评论听起来像是您想要避免构建一个 WAR 文件。期望的目标是什么?它与打包WAR文件有关吗?您有兴趣将 WAR 文件部署到服务器吗?
    • @James 我想构建一个战争文件(它在 Jenkins 上完成,然后使用 ant 构建部署战争)。我不太明白为此需要什么。也许“发布.war文件”中提到的部分根本不需要?
    • 在这种情况下,你只需要运行来自 sbt 的package,或者来自命令行的sbt package。这将在 target/scala_2.10/... 下生成一个 WAR 文件。在上面的 build.sbt 中,除了seq(webSettings :_*) 之外,您不需要任何其他内容。
    • 您可能还会发现instructions for building a minimal xsbt-web-plugin application 很有帮助。他们会引导您完成配置,一直到最后构建一个 WAR 文件。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-03-23
    • 1970-01-01
    • 2015-05-23
    • 2019-04-10
    相关资源
    最近更新 更多