次のscalaコンパイルの問題があります
- scala -> Java ソースに依存
Java ソース -> scala ソースに依存
私のscalaコードはsrc/main/scalaにあります
- 私の Java コードは src/main/java にあります
このコードを変更することはできないので、これを gradle でコンパイルする必要があります。現在、JRuby で問題なくコンパイルされています。
この問題を解決する方法について、次の投稿を読みました。
これをビルドに追加しました:
ext {
baseName = 'd2'
description = 'Divisional IVR.'
combinedSources = "$buildDir/combined-sources"
}
apply plugin: 'scala'
compileScala.taskDependencies.values = compileScala.taskDependencies.values - 'compileJava'
compileJava.dependsOn compileScala
sourceSets.main.scala.srcDir "$combinedSources"
sourceSets.main.java.srcDirs = []
すべての scala ファイルと java ファイルを 1 つの場所にコピーしようとしました。
compileScala.dependsOn{
copyAllSourceFiles
}
task copyAllSourceFiles(type:Copy) {
description = 'Copy All Source Files.'
from('src/main/java') {}
from('/src/main/scala') {}
into combinedSources
includeEmptyDirs = false
}
しかし今、私はエラーが発生します:
[ant:scalac] Compiling 18 source files to C:\usr\git_workspaces\xivr\d2\target\classes\main
[ant:scalac] Compiling 18 scala and 196 java source files to C:\usr\git_workspaces\xivr\d2\target\classes\main
[ant:scalac] C:\usr\git_workspaces\xivr\d2\target\combined-sources\com\comcast\ivr\d2\actors\AlternateAniWithAccountActor.scala:9: error: AlternateAniWithAccountActor is already defined as class AlternateAniWithAccountActor
scalaCompile が $combinedSources と 'src/main/scala' を認識しているようです