与真正混合的Java和Scala源码兼容

时间:2018-12-26 10:10:15

标签: java scala gradle

我创建了一个示例项目,该示例项目具有一个由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源代码。

有没有办法编译这样的项目?

0 个答案:

没有答案