【发布时间】:2014-08-15 05:27:54
【问题描述】:
我从来没有能够在我的任何项目中使用 SBT 离线工作。现在我正在搬家,我的衣橱服务器托管连接已离线。
所以说:
sbt "set offline := true" run
我得到了其他缺失的部门:
[error] unresolved dependency: se.hedefalk#lift-utils_3.0_2.10;0.2-SNAPSHOT: not found
对于声明为的依赖项:
"se.hedefalk" %% ("lift-utils_"+liftEdition) % ("0.2-SNAPSHOT"),
但我的常春藤缓存中确实存在依赖项:
$ ll ~/.ivy2/cache/se.hedefalk/lift-utils_3.0_2.10/
total 32
drwxr-xr-x 8 viktor staff 272B Mar 14 11:36 ./
drwxr-xr-x 5 viktor staff 170B Mar 8 10:38 ../
drwxr-xr-x 3 viktor staff 102B Mar 14 11:36 docs/
-rw-r--r-- 1 viktor staff 4.5K Mar 4 15:54 ivy-0.2-SNAPSHOT.xml
-rw-r--r-- 1 viktor staff 4.0K Mar 4 15:54 ivy-0.2-SNAPSHOT.xml.original
-rw-r--r-- 1 viktor staff 1.8K Mar 14 11:36 ivydata-0.2-SNAPSHOT.properties
drwxr-xr-x 3 viktor staff 102B Mar 8 10:38 jars/
drwxr-xr-x 3 viktor staff 102B Mar 14 11:36 srcs/
这还不够吗?整套“离线:= true”对我来说从来没有任何不同。依赖解决似乎以前发生过。
我现在真的需要让它工作。多年来我一直遇到这个问题,但现在我处于根本无法工作的境地。
这里: http://www.scala-sbt.org/0.13.5/docs/Detailed-Topics/Dependency-Management-Flow.html
我读过
当离线 := true 时,远程 SNAPSHOT 不会被 解决方案,甚至是明确要求的更新。这应该 有效地支持在没有远程连接的情况下工作 存储库。以其他方式证明的可重复示例是 赞赏。显然,更新之前必须已经成功运行 离线。
我可能没有正确理解这一点,但这是说我不应该遇到我遇到的问题吗?
我有同样的问题使用:
> sbt "skip in update := true" run
使用 sbt 0.13.5
编辑:
在我的 repo 再次联机后,解决所有 deps,然后将我的 wifi 设置为脱机,我可以退出 sbt 然后运行它。但是,只需运行 ;reload ;clean ;compile ,我就又被搞砸了。如果我退出,我什至根本无法启动 sbt。项目的依赖关系解析发生在我可以尝试使用依赖树或类似文件分析依赖图之前。即使不是在线的,如果说试图了解失败的传递依赖来自何处,这也是非常令人恼火的。
【问题讨论】:
-
您是从头开始离线创建项目,还是尝试运行之前已更新的现有项目?
-
现有项目。但我最近开始使用JDK8。将 scala 版本从 2.10.2 更改为 2.10.4,试图修复与此相关的一些字节码问题,并在此版本中将 sbt 0.13.1 更改为 0.13.5。改回两者都无济于事。
-
在线更新成功后,离线还有问题吗? IE。在线所有快照都会更新(我认为每天一次)。离线他们不是,但我认为如果它以前被认为已成功解决。可以这么说,更改 scala、sbt 版本可能会使 sbt 重置“已解决”标志。
-
这可能是相关的:github.com/sbt/sbt/wiki/…
-
@jsuereth 谢谢,是的,非常相关 :) 关于该功能的任何时间范围?