我已经从CE 2017.2.5将IntelliJ升级到CE 2017.3版本,现在我无法构建我的sbt项目 . 构建卡在第一步:
"Build: sync
MyProjName: syncing...
dump project structure from sbt"
我删除了.idea目录和 MyProjName/project/target
目录 . 我从命令行做了一个sbt构建,它起作用了 . 然后我再次启动IntelliJ并尝试将 MyProjName/build.sbt
导入为项目 . 我也退出了 . 这好几次了 . 导入永远不会超过此步骤 .
我在防火墙后面工作,但是我检查了我的代理设置,它们是正确的,与之前的版本相同(如果这很重要) .
我该如何排除/修复此问题?
sbt版本是0.13.6 . Scala插件2017.3.10 .
从日志中:
IDE: IntelliJ IDEA (build #IC-173.3727.127, 27 Nov 2017 09:32)
OS: Windows 7 (6.1, amd64)
JRE: 1.8.0_152-release-1024-b6 (JetBrains s.r.o)
JVM: 25.152-b6 (OpenJDK 64-Bit Server VM)
11 回答
我在这里解决了以下信息的同步问题:https://youtrack.jetbrains.com/issue/SCL-13024
关键信息是“似乎sbt正在尝试重新解决根本不可用的sbt插件的'来源'和'docs' . 如果要下载”库源“和”sbt源“的属性被禁用,那么时间到了转储结构从'永久'减少到不到1分钟 . “
也就是说,在IntelliJ IDEA中,清除IDEA首选项中Build Tools sbt的“项目级别设置”下的“库源”复选框 . 如下图所示:
我可以解决这个问题的唯一方法是首先在SBT控制台/ cmd行中运行
sbt clean compile
,然后在IntelliJ中刷新SBT项目 .我还没有找到一种方法在IntelliJ Idea CE 2017.3中完成这项工作,所以我已经恢复到CE 2017.2.5
对我有用的是增加IntelliJ内部SBT的内存 . 在我的Mac上:首选项 - >构建,执行,Depoyment - > sbt然后将“最大堆大小”从768MB更改为2048MB,然后几分钟后所有内容都成功导入 .
我遇到了同样的问题!我删除目录〜/ .sbt / 0.13,然后就可以了 . 您可以删除您使用的sbt目录 .
自定义SBT版本适合我 .
选择自定义
有一个较旧的签出项目导致此问题 . 通常
rm -rf .idea
重新导入,但它一直卡住 . 尝试了各种各样的事情,但是当我最终修复它时,不仅仅是删除了顶级的target
文件夹,而是做了下一次打开/导入完美无瑕 . (这是2018.1.5,2018.1.6和2018.2 RC . )
IntelliJ似乎限制了已经很慢的
sbt update
的效率 . 我建议改用sbt-coursier . 它专门用于改进依赖项更新时间,在我参与的一个大型项目中,它将依赖项更新时间提高了大约2个数量级 .Preferences > Build, Execution, Deployment > Build Tools > sbt
中的"Use auto-import",以防止IntelliJ自行更新导入将
addSbtPlugin("io.get-coursier" % "sbt-coursier" % "1.0.3")
添加到项目的build.sbt
文件中或者在
~/.sbt/1.0/plugins/build.sbt
中全局安装在命令行上运行
sbt update
如果看到
[error] java.lang.NoClassDefFoundError: org/vafer/jdeb/Console
,则将以下内容添加到~/.sbt/1.0/sbt-coursier.sbt
.有关该错误的更多信息,请参阅coursier问题#450 .
将升级版智能升级到2017后我遇到了同样的问题 . 但是现在它运行正常 .
我认为,“智能”并不能代表“选择” . 所以,我补充道
File > Settings > Build, Excution, Deployment > sbt > VM parameters 中的选项
简单地取消选中'sbt sources'就可以解决这个问题了
我也面临着这个问题 . 以下两种配置对我有用 . 我试图在许多新的sbt项目中确认这个设置,因为它有效 .
(1)取消选中IDEA首选项中“构建工具”的“项目级别设置”下的“库源”(2) - 文件>设置>构建,执行,部署> sbt> VM参数中的-Dhttp.nonProxyHosts =“host1 | host2”选项