我正在使用带有 sbt 的 Scala 2.10.1 将我的 webapp 打包为一个 war 文件。出于高效 rsync 增量的目的,我希望将 war 打包为 .war 文件,但不进行 zip 压缩。我只需要知道如何为此配置我的构建。
更新:
所有这些插件文档都假定所有这些关于语法如何工作以及如何将任务组合成新任务等的知识。我什至不知道如何创建一个执行打包然后命令的新任务。到目前为止,没有一个答案具体说,“这就是你所做的......”
为了清楚起见,这就是我所要求的:
我需要一个执行此操作的任务“packnozip”:
1)运行“包”
2)运行shell命令:
$ mkdir ./Whatever
$ pushd ./Whatever
$ jar xvf ../Whatever.war
$ popd
$ mv ./Whatever.war ./Whatever.war.orig
$ jar cvM0f ./Whatever.war -C ./Whatever .
所以我要说的是我想在 sbt 控制台中输入“packnozip”并让它执行 #1 然后 #2。
现在我只是手动做#2,如果它可以自动化的话,这似乎很愚蠢。还看着一个 30MB 的文件被 rsync b/c 完全反感,当一个 34MB 的未压缩文件仅多出 13% 的数据,并且需要几分之一秒的时间来发送 b/c 的有效差异时,它是不可区分的似乎很愚蠢,更不用说“-z”无论如何都会压缩传输。