我有一个Play 2.3 Scala项目,该项目在使用激活器运行命令启动时运行良好。但是,如果我尝试从运行/调试配置选项在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以便它使用我的自定义存储库定义?
答案 0 :(得分:3)
我试图在设置 - >中设置自定义sbt-launcher,但没有成功。 SBT - >启动器 - >定制
使用运行配置运行我的应用程序后,我可以在日志中看到由于某种原因,我指定的启动器被另一个属于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
添加到运行配置JVM选项来强制IDEA使用我的〜/ .sbt / repositories 。
我还设置了 -Dsbt.override.build.repos = true ,以确保只使用自定义配置中列出的存储库。