В моем проекте IDEA модуль Scala зависит от модуля Java. Когда я пытаюсь скомпилировать модуль Scala, запускается только скаляр. Он компилирует как Java, так и Scala источники.
Я бы хотел, чтобы scalac компилировал только модуль Scala, потому что javac намного быстрее для источников Java (и мой Java-проект является большим). Как заставить IDEA использовать разные компиляторы для разных модулей?
Мое обходное решение - (для каждой зависимости от модуля Java):
- Удалить зависимость модуля в конфигурации проекта
- Добавить зависимость от соответствующего каталога вывода компиляции "MyJavaModule/target/classes"
Очевидно, я не доволен этим, потому что каждый раз, когда я reimport проект Maven, мне нужно повторить все это, чтобы иметь быструю компиляцию. Я надеюсь, что кто-то знает лучший способ.
Уточнение: Я хотел бы подчеркнуть, что такие инструменты, как SBT или Maven, не решают мою проблему. Речь идет не только о компиляции. Это о компиляции в IDEA, необходимой для таких вещей, как Scala Рабочий лист или запуск модульных тестов из IDEA. Моя цель состоит в том, чтобы иметь полный спектр тонкостей IDEA (подсветка синтаксиса, интеллектуальное автоматическое завершение, авто-импорт и т.д.) Со скоростью компиляции SBT. Теперь я должен либо переносить длительные сроки компиляции (из-за зависимостей с моим модулем Java), либо использовать REPL и GOOP с боковыми костями. SBI.