Xsbt-web多模块项目:将一些模块打包为jar,其他模块打包为war



我使用的是sbt 0.13.8和xsbt-web-plugin 2.0.3

我有一个多模块sbt项目。在打包时,其中一个模块应该是war文件的形式。所有其他的在jar文件中。

当我添加xsbt-web插件时,打包为所有模块生成jar wars。我怎么能告诉xsbt-web插件只适用于应该打包为战争的模块?

我已经找到了一个解决方案,那就是为每个非战争模块改变packagedArtifacts列表:

packagedArtifacts <<= packagedArtifacts map { as => as.filter(_._1.`type` != "war") }

然而,这是一个非局部更改,我必须将其应用于我(或团队成员)可能创建的每个新的非战争模块。

我不认为这是StackOverflow问题的副本如何将一些模块"打包"到jar和其他模块中,在多模块构建中使用单个任务?因为我没有使用汇编。

请注意,当前正在生成的jar模块的jar和war模块的war工作得非常好。我只是想避免这种情况,有人试图部署一场战争,本来是一个罐子。

这是2.0.3版本的一个bug——谢谢你发现它!我已经在2.0.4中修复了。

为多模块项目中的单个模块启用.war文件发布:

  1. 添加xsbt-web-plugin到project/plugins.sbt
  2. 启用[webproject]/build.sbt
  3. 中的WarPlugin插件
项目/plugins.sbt:

addSbtPlugin("com.earldouglas" % "xsbt-web-plugin" % "2.0.4")

[webproject]/build.sbt:

enablePlugins(WarPlugin)

您可以在https://earldouglas.com/ext/stackoverflow.com/questions/31683637/

找到完整的示例。

相关内容

  • 没有找到相关文章

最新更新