使用 SBT 构建在 jar 文件中包含 Wicket HTML 文件
Including Wicket HTML files in jar file wtih a SBT build
我正在尝试将 MVN 项目转换为 SBT。所有的编译和打包都OK。但我有一个问题。
这里我有 wicket html 页面,我想将它们包含在输出 jar 文件中(在它们存在于 src 目录中的相同路径中)。
使用 maven,我们可以很容易地用
做到这一点
<build>
<resources>
<resource>
<directory>src/main/java</directory>
</resource>
</resources>
</build>
我怎样才能以最简单的方式对 SBT 做同样的事情...?
注意:Google 向我展示一些使用某些插件、定义新任务等的复杂方法...
但我相信应该有一个简单愚蠢的方法来做到这一点,
这是目前为止我找到的最简单的方法:
以下解决方案可用于映射单个文件,但我想对目录做同样的事情
mappings in (Compile, packageBin) += {
(baseDirectory.value / "src"/ "main"/ "java" / "com" / "csl" / "as" / "web" / "pages" / "BasePage.html") -> "com/csl/as/web/pages/BasePage.html"
}
我找到了一种方法来做到这一点,它与我们使用 maven 所做的一样。只需指定一个额外的资源目录。
unmanagedResourceDirectories in Compile += baseDirectory.value / "src"/ "main"/ "java"
这会将 'src/main/java' 中的全部内容复制到 jar 文件的根目录中。最后我有了 .html 文件和 .class 文件。
并且您可以使用 excludeFilter 只将需要的文件放入 jar。
我正在尝试将 MVN 项目转换为 SBT。所有的编译和打包都OK。但我有一个问题。 这里我有 wicket html 页面,我想将它们包含在输出 jar 文件中(在它们存在于 src 目录中的相同路径中)。
使用 maven,我们可以很容易地用
做到这一点<build>
<resources>
<resource>
<directory>src/main/java</directory>
</resource>
</resources>
</build>
我怎样才能以最简单的方式对 SBT 做同样的事情...?
注意:Google 向我展示一些使用某些插件、定义新任务等的复杂方法... 但我相信应该有一个简单愚蠢的方法来做到这一点,
这是目前为止我找到的最简单的方法: 以下解决方案可用于映射单个文件,但我想对目录做同样的事情
mappings in (Compile, packageBin) += {
(baseDirectory.value / "src"/ "main"/ "java" / "com" / "csl" / "as" / "web" / "pages" / "BasePage.html") -> "com/csl/as/web/pages/BasePage.html"
}
我找到了一种方法来做到这一点,它与我们使用 maven 所做的一样。只需指定一个额外的资源目录。
unmanagedResourceDirectories in Compile += baseDirectory.value / "src"/ "main"/ "java"
这会将 'src/main/java' 中的全部内容复制到 jar 文件的根目录中。最后我有了 .html 文件和 .class 文件。
并且您可以使用 excludeFilter 只将需要的文件放入 jar。