Scala 为SBT(不是由SBT管理的项目)向SBT添加库依赖项

Scala 为SBT(不是由SBT管理的项目)向SBT添加库依赖项,scala,sbt,Scala,Sbt,我正在尝试为SBT创建一个任务,因此当我键入deploy时,该任务将创建一个.jar,然后通过SCP部署它,我需要一个SSH库。我正在努力解决的问题是,我不知道如何为build.sbt本身添加库依赖项和SSH库。我有 libraryDependencies+=org.apache.commons%commons-vfs2%2.2 但这使库可用于项目代码,而不是SBT脚本build.SBT,我必须在其中定义任务。这听起来与SBT插件完全一样!实际上是一个sbt库 例如,也许对你有帮助 要使用它们,

我正在尝试为SBT创建一个任务,因此当我键入deploy时,该任务将创建一个.jar,然后通过SCP部署它,我需要一个SSH库。我正在努力解决的问题是,我不知道如何为build.sbt本身添加库依赖项和SSH库。我有 libraryDependencies+=org.apache.commons%commons-vfs2%2.2
但这使库可用于项目代码,而不是SBT脚本build.SBT,我必须在其中定义任务。

这听起来与SBT插件完全一样!实际上是一个sbt库

例如,也许对你有帮助

要使用它们,您需要编辑plugins.sbt文件,而不是build.sbt文件

例如,对于这个ssh文件,您需要将以下内容添加到plugins.sbt文件中:


这听起来很像sbt插件!实际上是一个sbt库

例如,也许对你有帮助

要使用它们,您需要编辑plugins.sbt文件,而不是build.sbt文件

例如,对于这个ssh文件,您需要将以下内容添加到plugins.sbt文件中:

您有两个选择:

首先,如果您计划在多个项目中重新实现相同的功能,最好的做法是——它基本上只是另一个scala项目,因此您可以在该项目的build.sbt中添加依赖项

第二,如果你只在一个项目中需要它,并且不想为它发布插件。这意味着您可以修改用于管理项目的SBT。通过这种方式,您需要将依赖项添加到./project/build.sbt而不是./build.sbt-同时,我建议您将任务写入project中的Scala文件中。

您有两个选项:

首先,如果您计划在多个项目中重新实现相同的功能,最好的做法是——它基本上只是另一个scala项目,因此您可以在该项目的build.sbt中添加依赖项


第二,如果你只在一个项目中需要它,并且不想为它发布插件。这意味着您可以修改用于管理项目的SBT。通过这种方式,您需要将依赖项添加到./project/build.sbt而不是./build.sbt-我还建议您将任务写入project中的Scala文件。

谢谢!这似乎奏效了。尽管我可能会问另一个问题。我尝试添加插件,添加解析器和依赖项,但当我重新加载sbt时,它没有找到依赖项。相反,当我为我的项目添加与库依赖项相同的依赖项时,它会起作用,依赖项会得到解决。你知道这里会发生什么吗?谢谢!这似乎奏效了。尽管我可能会问另一个问题。我尝试添加插件,添加解析器和依赖项,但当我重新加载sbt时,它没有找到依赖项。相反,当我为我的项目添加与库依赖项相同的依赖项时,它会起作用,依赖项会得到解决。你知道这里会发生什么事吗?
resolvers += "JAnalyse Repository" at "http://www.janalyse.fr/repository/"
addSbtPlugin("com.github.shmishleniy" % "sbt-deploy-ssh" % "0.1.4")