【问题标题】:How to override classpath in sbt build project?如何在 sbt 构建项目中覆盖类路径?
【发布时间】:2015-10-09 02:39:52
【问题描述】:

我正在使用一个 sbt 插件,它通过

读取嵌入式资源
  new InputStreamReader(
    getClass().getResourceAsStream("/%s" format src), utf8
  )

例如

  src = "resources/main.js"

我想在 sbt 构建项目本身使用的类路径中覆盖此资源,使其使用我的“resources/main.js”而不是与 plugin.jar 一起分发。

【问题讨论】:

  • src 设置在哪里? src 是 sbt 设置吗? main.js 是你想要打包到程序集中的文件吗?
  • src 是 sbt 插件中的硬编码路径。在私有方法内部,我无法更改它。这就是为什么我想覆盖资源本身,如果可能的话。
  • 好的。请让我们知道插件源代码的链接。

标签: scala sbt sbt-assembly


【解决方案1】:

对我来说,帮助将其添加到 build.sbt:

unmanagedClasspath in Runtime <+= (baseDirectory) map { bd => Attributed.blank(bd / "resources") }

然后我将覆盖的资源放到 ./resources 目录中。 SBT 首先检查它们。

【讨论】:

    猜你喜欢
    • 2017-10-19
    • 2017-04-07
    • 2015-09-25
    • 2017-04-18
    • 2012-01-15
    • 2019-09-03
    • 2011-05-11
    • 2018-04-09
    • 2013-12-24
    相关资源
    最近更新 更多