我正在尝试使用激活器为一个播放项目生成Eclipse和IDEA项目。当我尝试这样做时,它会做一点,但它会挂起:
Waiting for lock on C:\Users\James\.ivy2\.sbt.ivy.lock to be available...
起初我以为我的Intellij IDEA运行会话可能会有冲突,我杀了IDEA并且问题仍然存在。我关闭了激活器,删除了锁定文件,并重新启动了激活器,但随后重新创建了锁定文件并给了我同样的问题。这是我得到的完整日志。
[info] Loading project definition from C:\Users\James\play-java\project
[info] Set current project to play-java (in build file:/C:/Users/James/play-java/)
[info] Applying State transformations com.typesafe.sbtrc.SetupSbtChild from C:/Users/James/.sbt/boot/scala-2.10.2/com.typesafe.sbtrc/sbt-rc-probe-0-13/1.0-1a8f7afd5ba98b45834ff53dd349130c3ade22f1/sbt-rc-probe-0-13-1.0-1a8f7afd5ba98b45834ff53dd349130c3ade22f1.jar;C:/Users/James/.sbt/boot/scala-2.10.2/com.typesafe.sbtrc/sbt-rc-probe-0-13/1.0-1a8f7afd5ba98b45834ff53dd349130c3ade22f1/sbt-rc-props-1.0-1a8f7afd5ba98b45834ff53dd349130c3ade22f1.jar
[info] Updating {file:/C:/Users/James/play-java/}root...
Waiting for lock on C:\Users\James\.ivy2\.sbt.ivy.lock to be available...
如何解决锁定文件问题?
答案 0 :(得分:27)
.sbt.ivy.lock
文件用于在多个进程之间同步对本地ivy2存储库的访问,因此无法同时修改目录。通常,当您同时运行IDE和Activator / sbt终端时,您所描述的情况就会发生。
即使您杀死了Idea Process,也可能会产生另一个导致锁定的进程,因此下次确保您杀死所有Java进程。但是,此问题的最佳解决方案是避免将一个进程与另一个进程锁定。因此,只运行一个同时使用ivy2存储库的进程。
答案 1 :(得分:3)
如果什么都不起作用,最后一步是杀死.lock文件。
答案 2 :(得分:0)
我遇到了类似的问题,我也遇到了同样的错误
Waiting for lock on C:\Users\ajain9\.ivy2\.sbt.ivy.lock to be available...
然后最后问题是我的系统上运行了另一个sbt进程,因此.sbt.ivy.lock文件不可用。正如Daniel所解释的那样,锁定文件用于同步目的。
上一个过程结束后,我再次没有遇到此错误。