将文件从 sbt 插件复制到项目文件夹

Posted

技术标签:

【中文标题】将文件从 sbt 插件复制到项目文件夹【英文标题】:Copy file from sbt plugin to project folder 【发布时间】:2014-04-05 00:56:26 【问题描述】:

我正在编写一个 sbt 插件来帮助部署。它取决于 sbt-native-packager。主要是它添加了一个deploy 任务。但是,我还需要将 bash 脚本 run-class.sh 复制到包的 /bin 文件夹中。

如何将文件从 sbt 插件复制到我的项目中?目前我唯一的想法是将文件添加到插件中的src/main/resources/run-class.sh 和使用sbt 的generate a file。然后我可以提供一个通用映射来将文件放入 sbt-native-packager 包中。

有没有更简单的方法从插件中获取文件到我的 sbt 项目中?

【问题讨论】:

【参考方案1】:

Generating files,特别是Generate resources,您走在正确的轨道上。您可以将原始文件保留为资源或String,但重要的是文件生成到resourceManaged in Compile,位于target 下。此文件夹通常会从版本控制中跳过。

【讨论】:

我们最终选择了doing something along those lines。 schmdd,非常感谢,我写了一些非常相似的东西。但问题仍然存在 - 文件如何进入我构建的 jar?就我而言,我在 Build.scala 中有几个项目......(当然另一个问题是如何确保每次都生成文件......)

以上是关于将文件从 sbt 插件复制到项目文件夹的主要内容,如果未能解决你的问题,请参考以下文章

sbt资源未复制

为啥 SBT 不将生成的资源复制到 classes 文件夹?

SBT 本机打包程序不会将文件复制到 Docker 映像

SBT任务将debian文件复制到其他文件夹

sbt 原生打包器 dockerCommands 复制

将框架添加到项目中的“添加复制文件阶段”是啥意思