前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >gradle项目中如何支持java与scala混合使用?

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

作者头像
24-丰总
发布2018-06-14 14:33:08
1.3K0
发布2018-06-14 14:33:08
举报
文章被收录于专栏:24k24k

一、目录结构

二、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

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017.02.22 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档