我有一个 Play 2.3 Scala 项目,在使用 activator run 命令启动时可以完美运行。但是,如果我尝试在 IntelliJ 13 中从运行/调试配置选项启动它,则在解决快照依赖项时会出现问题。
根据日志,已检查以下存储库以查找依赖项:
[warn] module not found: org.package#my-dep;1.0-SNAPSHOT
[warn] ==== local: tried
[warn] C:\Users\MyUser\.ivy2\local\org.package\my-dep\1.0-SNAPSHOT\ivys\ivy.xml
[warn] ==== public: tried
[warn] http://repo1.maven.org/maven2/org/package/my-dep/1.0-SNAPSHOT/my-dep-1.0-SNAPSHOT.pom
[warn] ==== Typesafe Releases Repository: tried
[warn] http://repo.typesafe.com/typesafe/releases/org/package/my-dep/1.0-SNAPSHOT/my-dep-1.0-SNAPSHOT.pom
依赖项位于我的 ~/.ivy2/cache 目录中。我还有其他未标记为快照的依赖项,看起来 IntelliJ 找到它们没有问题。它仅适用于快照。
更新
看起来 IDEA 忽略了定义快照存储库的 ~/.sbt/repositories 文件并使用默认的 SBT 插件配置。
实际上是否可以配置 IDEA 以使用我的自定义存储库定义?
最佳答案
我尝试在“设置 -> SBT -> 启动器 -> 自定义”中设置自定义 sbt-launcher,但没有成功。
使用运行配置运行应用程序后,我可以在日志中看到,出于某种原因,我指定的启动器被属于 Scala 插件一部分的另一个启动器覆盖。
-Dsbt.global.base=C:\Users\User\AppData\Local\Temp\sbt-global-plugin3401565420094215394stub -classpath C:\Users\User\.IntelliJIdea13\config\plugins\Scala\launcher\sbt-launch.jar
最后,我通过添加 -Dsbt.repository.config=C:\Users\User\.sbt\repositories
设法强制 IDEA 使用我的~/.sbt/repositories到运行配置 JVM 选项。
我还设置了 -Dsbt.override.build.repos=true 以确保仅使用自定义配置中列出的存储库。
关于scala - 为什么 IntelliJ 找不到 SBT 快照依赖项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26933523/