0

我目前正在使用 SBT 在 IntelliJ IDEA 14 中开发一个多项目 Scala 应用程序。项目之间存在依赖关系(依赖项目),我需要 IntelliJ IDEA 来检查所有项目的代码,至少,来自我在当前项目(工作项目)中使用的项目。我需要 IntelliJ IDEA 在依赖项项目发生更改后自动更新此检查(例如语法突出显示)。

这是我尝试过的:

  • 我尝试将项目添加为库,但问题是 IntelliJ IDEA 似乎无法识别 .scala 文件和包。

  • 我还尝试将工作项目的已编译 .jar 设置为库,并在依赖项目中设置 sbt 以在每次更改文件时将项目打包为 .jar 文件:~package在依赖项目的 sbt 控制台中运行. 但似乎这个守护进程阻止了 IntelliJ IDEA 读取工作项目中新创建的 .jar 文件。如果我在进行更改后手动打包项目,它可以正常工作(我得到代码检查并且类被正确加载)。

  • 我也尝试过 SBT Multi-Project,但是虽然这个设置适用于编译工作项目和依赖项目,但我没有得到我需要的 IntelliJ IDEA 代码检查,不在工作项目中的所有内容都以红色突出显示. 或者也许我做错了,这是代码(这就是我所做的一切):

    lazy val wcommon = RootProject(file("../WCommon")) val wrepository = Project(id = "application", base = file(".")).dependsOn(wcommon)

有什么建议吗?

4

1 回答 1

1

您对 RootProject(...) 的最后一次尝试应该有效,我在许多多项目构建中使用了相同的方法。您是否在 IDEA 中的构建文件上启用了自动导入?我遇到了索引/缓存问题,所以在确保正确导入构建文件后,我也会尝试重新启动 IDEA。如果您仍然有问题,我会检查以确保 WCommon 项目本身在 IDEA 中干净地打开。

于 2015-07-01T17:55:57.517 回答