gradle项目中如何支持java与scala混合使用?
来源:互联网 发布:阿里云 杰出 科学家 编辑:程序博客网 时间:2024/06/14 01:30
之前写过一篇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
0 0
- gradle项目中如何支持java与scala混合使用?
- spark streaming---使用gradle混合编译Scala和Java项目并打包
- IntelliJ IDEA如何在Gradle项目中支持Web Application
- Gradle之多项目与混合构建
- IDEA Java/Scala混合项目maven打包
- IDEA Java/Scala混合项目maven打包
- IDEA Java/Scala混合项目maven打包
- Maven项目 混合编译Java和Scala
- IDEA中maven项目支持scala
- 如何使用Intellij和Gradle开发JAVA Web项目
- Java&Scala混合编程
- Eclipse下Java+Scala混合编程的Maven项目
- maven建立java和scala混合的项目
- Eclipse Maven 构建Java和Scala混合项目
- IDEA 创建Scala和Java的混合项目
- 同一项目中,混合搭配支持ARC与不支持ARC的代码
- Eclipse中使用Gradle构建Java Web项目
- Android项目中使用Gradle
- 理解linux time命令的输出
- 指针函数的返回
- Mysql函数INSTR、LOCATE、POSITION VS LIKE
- Android Handler消息处理机制 一些事一些情
- for 续3
- gradle项目中如何支持java与scala混合使用?
- poj 3273 Monthly Expense
- 自定义内容提供者(增删改)
- 索引
- Qt中文显示乱码
- scala 学习笔记(01) 函数定义、分支、循环、异常处理、递归
- 专题8-内存初始化
- 编写函数int stat(int a[],int n,int c[][2])。a指向的数组中保存了由n个1位整数组成的数列(n为偶数)。函数从前至后依次将a数组中每两个相邻元素拼成一个不超过2位的
- maven--仓库管理