我在Java / Ant中有一个模式,我使用Ivy来获取任务中的依赖项并将它们放在项目的本地lib /文件夹中。我不想拥有本地Maven,我只希望开发人员在更改内容时运行依赖项更新程序(我在lib / lib中提交了libs)。
如何利用SBT依赖项设置手动将它们提取到本地lib /文件夹并用作“非托管”依赖项(而不是lib_managed)?我真的不想强迫开发人员设置他的ivy.home或构建启动器配置。我宁愿只有一个可调用的任务,它将libs提取到我在build.sbt / scala中指定的位置。有没有这方面的例子?
答案 0 :(得分:0)
我不使用sbt,但我使用ANT的方法是创建一个设置开发人员机器的引导目标,以便常春藤可用于管理依赖项。看一下下面的例子:
答案 1 :(得分:0)
管理不能一般转换为不受管理。在某些特殊情况下,某些罐子可以放在lib/
中并且具有相同的结果行为,但通常不会。问题的例子:
doc
会自动将其用于链接到外部网站,例如这是现有的Java依赖管理解决方案(Maven / Ivy)的一般问题。可以近似锁定,离线分辨率的想法,但不是特别干净,容易或灵活。 (我知道Ivy的retrieve
。)在sbt中,它可能需要使用lib_managed/
,skip in update := true
,offline := true
,并保持update
缓存(在target/
)中,但未记录或测试。
(对于长期方向,Adept已将锁定依赖关系和脱机使用锁定为核心目标。)