Gradle项目中如何支持Java与Scala混合使用
之前写过一篇maven项目中java与scala如何混用,今天来看看gradle项目中如何达到同样的效果:
一、目录结构
基本上跟maven一样,tips:这一堆目录结构不用死记,后面会讲如何用gradle命令快速生成
二、build.gradle配置
1 group 'yjmyzz' 2 version '1.0-SNAPSHOT' 3 4 apply plugin: 'java' 5 apply plugin: 'scala' 6 apply plugin: 'application' //可选(可自动生成shell启动脚本) 7 mainClassName = 'AppDemo' //可选(与上行的application插件配套出现) 8 9 //这里是关键(把java与scala的源代码目录全映射到scala上, 10 // 这样gradle compileScala时就能同时编译java与scala的源代码) 11 sourceSets { 12 main { 13 scala { 14 srcDirs = ['src/main/scala', 'src/main/java'] 15 } 16 java { 17 srcDirs = [] 18 } 19 } 20 21 test { 22 scala { 23 srcDirs = ['src/test/scala', 'src/test/java'] 24 } 25 java { 26 srcDirs = [] 27 } 28 } 29 } 30 31 //可选(项目初始化时,可用gradle cDirs生成scala及java的src目录) 32 task "createDirs" << { 33 sourceSets*.scala.srcDirs*.each { it.mkdirs() } 34 sourceSets*.java.srcDirs*.each { it.mkdirs() } 35 sourceSets*.resources.srcDirs*.each { it.mkdirs() } 36 } 37 38 repositories { 39 mavenLocal() 40 maven { url 'http://maven.oschina.net/content/groups/public/' } 41 mavenCentral() 42 } 43 44 dependencies { 45 compile "org.scala-lang:scala-library:2.11.7" 46 compile "org.scala-lang:scala-compiler:2.11.7" 47 compile "org.scala-lang:scala-reflect:2.11.7" 48 testCompile "junit:junit:4.11" 49 } 50 51 //可选,如果想让生成的jar可直接运行,建议加上 52 jar { 53 manifest { 54 attributes 'Main-Class': 'AppDemo' 55 } 56 }
这样就可以了:
创建初始目录:gradle cDirs (注:这是缩写方式,与gradle createDirs完全相同)
编译: gradle compileScala
生成jar包: gradle jar
生成带启动脚本的可运行包: gradle installDist
Gradle 的详细介绍:请点这里
Gradle 的下载地址:请点这里
相关推荐
CaesarHome 2020-11-09
chenkai00 2020-07-26
CaptainCTR 2020-07-09
afa0 2020-06-23
StephenWong 2020-06-18
chenkai00 2020-06-13
Lucianoesu 2020-06-08
tysforwork 2020-06-05
貌似掉线 2020-05-30
tysforwork 2020-05-27
CaptainCTR 2020-05-07
CaptainCTR 2020-05-04
貌似掉线 2020-05-03
CaptainCTR 2020-04-29
貌似掉线 2020-04-29
CaptainCTR 2020-04-23