Я создал пример проекта с интерфейсом Java, который реализуется классом Scala, а затем классом Java с основным методом, который использует класс Scala.Все исходники Java в src / main / java и все исходники Scala в src / main / scala
Код прост и выглядит следующим образом (пакеты опущены):
// java
public interface A {
String getName();
}
// scala
class B(val name: String) extends A {
override def getName: String = name
}
// java
public class Main {
public static void main(String[] args) {
B b = new B("aname");
}
}
build.gradle:
apply plugin: 'scala'
repositories {
mavenCentral()
}
dependencies {
compile 'org.scala-lang:scala-library:2.11.12'
}
Запуск 'сборки gradle' приводит к:
/ x / tmp / mixedJavaAndScala / src / main / java / Main.java: 3: ошибка: не удается найтисимвол B b = новый B («aname»);^ символ: класс B расположение: класс Main
Что означает, что Gradle пытается скомпилировать сначала всю Java, а затем все исходные коды Scala.
Есть ли способ компиляции такого проекта?