在 IDEA IntelliJ 中开发一些 Scala 软件。 (如果有必要,它还具有 Android 功能)。假设我有两个项目:
P1,用scala编写,使用sbt作为构建工具
P2,java编写,使用gradle作为构建工具
我想从 P2 调用一些代码,有它的完整源代码。所以我将 P2 作为一个模块导入到我的 IntelliJ scala 项目中。但是当我使用 sbt-shell 编译我的 sbt 项目时,它告诉我一个错误,它找不到任何在 P2 中声明的类和包的定义。我想我需要在我的 build.sbt 文件中创建一个正确的引用,这样它才能理解定义的来源。我找到了一个解决方案,它建议像这样向 build.sbt 添加非托管 java 源路径:
unmanagedSourceDirectories in Compile += file("mydependency")
但问题是依赖本身也有依赖。当我尝试编译它时,sbt 告诉我它找不到该依赖项的定义。所以我需要一种在 build.sbt 中引用完整 java 项目的方法,这样我就可以通过 sbt shell 编译整个项目(事实上,我被迫使用非常 sbt shell)。
有什么建议吗?
最佳答案
根据我的理解,更好(但不同)的解决方案是在您的本地存储库中发布 jar(例如 publishLocal) ,并依赖它。
关于java - sbt 添加 java 项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48097470/