我正在使用sbt 0.13.8和xsbt-web-plugin 2.0.3
我有一个多模块的sbt项目。打包时,其中一个模块应采用war文件的形式。 jar文件中的所有其他文件。
当我添加xsbt-web插件时,打包会为所有模块生成jar 和 war。如何告诉xsbt-web插件仅将自己应用于应该打包为战争的模块?
我已经找到了一个解决方案,即改变每个非战争模块的packagedArtifacts列表:
packagedArtifacts <<= packagedArtifacts map { as => as.filter(_._1.`type` != "war") }
但是,这是一个非本地更改,我必须应用于我(或团队成员)可能创建的每个新的非战争模块。
我不认为这是StackOverflow问题How to “package” some modules to jars and others to wars in multi-module build with single task?的副本,因为我没有使用汇编。
请注意,jar模块的jar和战争模块的战争(目前正在生成)非常出色。我只是试图避免某人试图部署一场本来就是战争的战争的情况。
答案 0 :(得分:2)
这是版本2.0.3中的错误 - 感谢您的发现!我已经修复了2.0.4。
为多模块项目中的单个模块启用.war文件发布:
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/
找到完整的示例