Java与Scala同一项目混合开发
2018-12-06 本文已影响0人
望山不是山
一、项目结构
图片.png二、gradle配置
apply plugin: 'java'
apply plugin: 'scala'
task "createDirs" << {
sourceSets*.scala.srcDirs*.each { it.mkdirs() }
sourceSets*.java.srcDirs*.each { it.mkdirs() }
sourceSets*.resources.srcDirs*.each { it.mkdirs() }
}
sourceSets {
main {
scala {
srcDirs = ['src/main/scala','src/main/java']
}
java {
srcDirs = []
}
}
test{
scala {
srcDirs = ['src/test/scala','src/test/java']
}
java {
srcDirs = []
}
}
}
tasks.withType(ScalaCompile){
options.encoding="UTF-8"
}
三、问题
1. 编译时提示->“错误: 找不到或无法加载主类
scala {
srcDirs = ['src/main/scala','src/main/java'] //一定要在这里加上java源码目录
}
2. 编译时提示->编码GBK的不可映射字符
所有的类均使用UTF-8格式,但编译时还会报此错误,解决方法如下
tasks.withType(ScalaCompile){
options.encoding="UTF-8"
}