在我的 IDEA 项目中,Scala 模块依赖于 Java 模块。当我尝试编译 Scala 模块时,只会触发 scalac。它编译 Java 和 Scala 源代码。
我希望 scalac 只编译 Scala 模块,因为 javac 对于 Java 源代码要快得多(而且我的 Java 项目很大)。 如何让 IDEA 对不同的模块使用不同的编译器?
我的解决方法是(对于 Java 模块的每个依赖项):
- 删除项目配置中的模块依赖
- 将依赖项添加到适当的编译输出目录“MyJavaModule/target/classes”
显然我对此并不满意,因为每次我重新导入 Maven 项目时,我都需要重复所有这些以进行快速编译。我希望有人知道更好的方法。
澄清:我想强调一下,像 SBT 或 Maven 这样的工具并不能解决我的问题。这不仅仅是编译。它是关于 IDEA 中的编译,是 Scala Worksheet 或从 IDEA 运行单元测试所必需的。我的目标是在 SBT 的编译速度下拥有全方位的 IDEA 细节(语法突出显示、智能自动完成、自动导入等)。现在我不得不忍受较长的编译时间(由于对我的 Java 模块的依赖),或者在 SBT 中使用简单的 REPL 和测试。