Scala 在sbt中将Ivy依赖项作为本地非托管LIB手动检索

Scala 在sbt中将Ivy依赖项作为本地非托管LIB手动检索,scala,sbt,ivy,Scala,Sbt,Ivy,我在Java/Ant中有一个模式,我使用Ivy获取任务中的依赖项,并将它们放在项目的本地lib/文件夹中。我不希望有一个本地Maven,我只希望开发人员在更改某些内容时运行依赖项更新程序,我在lib/中提交了获取后的lib 如何利用SBT依赖项设置手动将它们提取到本地库/文件夹,并将其用作非托管依赖项而不是托管库/文件夹?我真的不想强迫开发人员设置他的ivy.home或构建启动器配置。我更希望有一个可调用的任务,将libs提取到build.sbt/scala中指定的位置。有这样做的例子吗?我不使

我在Java/Ant中有一个模式,我使用Ivy获取任务中的依赖项,并将它们放在项目的本地lib/文件夹中。我不希望有一个本地Maven,我只希望开发人员在更改某些内容时运行依赖项更新程序,我在lib/中提交了获取后的lib


如何利用SBT依赖项设置手动将它们提取到本地库/文件夹,并将其用作非托管依赖项而不是托管库/文件夹?我真的不想强迫开发人员设置他的ivy.home或构建启动器配置。我更希望有一个可调用的任务,将libs提取到build.sbt/scala中指定的位置。有这样做的例子吗?

我不使用sbt,但我使用ANT的方法是创建一个引导目标来设置开发人员的机器,以便可以使用ivy来管理依赖关系。请看以下示例:


一般来说,托管不能转换为非托管。在一些特殊情况下,一些jar可以放入lib/中,并具有等效的结果行为,但通常不是这样。问题的例子:

插件可以请求在自定义配置中下载JAR,而非托管配置不包括这些JAR 每个类路径/配置都需要一个包含所有JAR的单独目录 非托管依赖项会丢失关联的元数据,例如,文档使用该元数据自动链接到外部站点 这是Java Maven/Ivy现有依赖关系管理解决方案的一个普遍问题。可以近似使用锁定的脱机分辨率,但不能特别干净、方便或灵活。我知道艾薇在找我。在sbt中,它可能需要使用lib_managed/,在update:=true中跳过,offline:=true,并在target/中保留更新缓存,但这没有记录或测试


从长远来看,我的核心目标是锁定依赖项和脱机使用。

这是我已经拥有的模式,我想直接使用sbt,并单独使用build.xml