码迷,mamicode.com
首页 > 编程语言 > 详细

gradle项目中如何支持java与scala混合使用?

时间:2017-02-14 13:26:26      阅读:262      评论:0      收藏:0      [点我收藏+]

标签:src   blog   ted   res   reflect   logs   ati   junit   自动   

一、目录结构

技术分享

二、build.gradle配置

group ‘yjmyzz‘
version ‘1.0-SNAPSHOT‘
apply plugin: ‘java‘
apply plugin: ‘scala‘
apply plugin: ‘application‘ //可选(可自动生成shell启动脚本)
mainClassName = ‘AppDemo‘ //可选(与上行的application插件配套出现)

//这里是关键(把java与scala的源代码目录全映射到scala上,
// 这样gradle compileScala时就能同时编译java与scala的源代码)
sourceSets {
main {
scala {
srcDirs = [‘src/main/scala‘, ‘src/main/java‘]
}
java {
srcDirs = []
}
}

test {
scala {
srcDirs = [‘src/test/scala‘, ‘src/test/java‘]
}
java {
srcDirs = []
}
}
}

//可选(项目初始化时,可用gradle cDirs生成scala及java的src目录)
task "createDirs" << {
sourceSets*.scala.srcDirs*.each { it.mkdirs() }
sourceSets*.java.srcDirs*.each { it.mkdirs() }
sourceSets*.resources.srcDirs*.each { it.mkdirs() }
}

repositories {
mavenLocal()
maven { url ‘http://maven.aliyun.com/nexus/content/repositories/central/‘ }
mavenCentral()
}

dependencies {
compile "org.scala-lang:scala-library:2.11.7"
compile "org.scala-lang:scala-compiler:2.11.7"
compile "org.scala-lang:scala-reflect:2.11.7"
testCompile "junit:junit:4.11"
}

//可选,如果想让生成的jar可直接运行,建议加上
jar {
manifest {
attributes ‘Main-Class‘: ‘AppDemo‘
}
}

这样就可以了:

创建初始目录:gradle cDirs (注:这是缩写方式,与gradle createDirs完全相同)

编译: gradle compileScala

生成jar包: gradle jar

生成带启动脚本的可运行包: gradle installDist

gradle项目中如何支持java与scala混合使用?

标签:src   blog   ted   res   reflect   logs   ati   junit   自动   

原文地址:http://www.cnblogs.com/Juvenile-xf/p/6397090.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!