sbt for web app with command line code

时间:2014-05-15 13:35:14

标签: scala sbt sbt-assembly

我希望sbt生成两个包:

  1. 用于Web应用程序的WAR文件
  2. 一个JAR文件,它有命令行和批处理代码
  3. 这两个软件包共享许多类似的代码(业务逻辑)和依赖项,但当然Servlet方面只在WAR中,而命令行和批处理只在JAR中。

    我希望JAR能够独立运行,不需要外部依赖(ala sbt-assembly)。

    我该怎么做?

1 个答案:

答案 0 :(得分:0)

WAR文件

您可以使用earldouglas/xsbt-web-plugin创建war文件,并使用sbt-assembly作为fat JAR。您可能需要有点创意,将一些文件包含在一个文件中,但从另一个文件中排除。

从相同的代码库生成JAR和WAR

如果生成的包最后包含不同的库依赖项,例如包括Jetty或Netty for standalone JAR,我认为它需要是一个单独的子项目。请参阅Multi Project builds