我创建了一个示例项目,该示例项目具有一个由Scala类实现的Java接口,然后是一个具有使用Scala类的main方法的Java类。 src / main / java中的所有Java源代码和src / main / scala中的所有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'
}
运行“渐变构建”结果:
/x/tmp/mixedJavaAndScala/src/main/java/Main.java:3:错误:找不到 符号 B b =新的B(“ aname”); ^符号:B类位置:Main类
这意味着Gradle首先尝试编译所有Java,然后编译所有Scala源代码。
有没有办法编译这样的项目?