【问题标题】:How to use a third-party library in a taskKey?如何在 taskKey 中使用第三方库?
【发布时间】:2014-09-01 02:48:36
【问题描述】:

我想在 .Scala/.sbt 项目文件中的 taskKey 中使用第三方库。

我的问题是当我尝试导入文件时出现编译错误。

我的目标很简单我想添加一个使用 sbt cli 执行一些逻辑的任务键,我尝试了一个使用 sbt command line application 的示例,但它不符合我的需要,因为我需要打包应用程序来测试代码。

那么如何在加载阶段将依赖项导入 sbt cli?

例子:

val customTaskKey = TaskKey[Unit]("customTaskKey", "Runs customTaskKey")
lazy val myProjectSettings: Seq[Setting[_]] = Seq(
  customTaskKey :={

    val instance : ThirdPartLibraryClass()
    //             ^
    //            Symbol not found : compilation error
  }
)

【问题讨论】:

    标签: scala sbt


    【解决方案1】:

    您可以按正常方式添加依赖项,但在 my-project/project/plugin.sbt 文件中而不是 my-project/build.sbt 中:

    libraryDependencies ++= Seq(
      "thirdparty" % "library" % "1.0"
    )
    

    如果您的项目是foofoo/project 是另一个 SBT 项目,它为 foo 项目构建 SBT 构建。所以在foo/project 文件夹中完成的配置适用于foo 的构建,而不是foo 本身。

    【讨论】:

    • 感谢您的帮助。
    猜你喜欢
    • 1970-01-01
    • 2011-05-05
    • 2013-09-19
    • 2019-03-16
    • 1970-01-01
    • 1970-01-01
    • 2017-05-18
    • 1970-01-01
    • 2018-01-21
    相关资源
    最近更新 更多