阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

Gradle项目中如何支持Java与Scala混合使用

187次阅读
没有评论

共计 1729 个字符,预计需要花费 5 分钟才能阅读完成。

之前写过一篇 maven 项目中 java 与 scala 如何混用,今天来看看 gradle 项目中如何达到同样的效果:

一、目录结构

Gradle 项目中如何支持 Java 与 Scala 混合使用

基本上跟 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 创建项目目录结构 http://www.linuxidc.com/Linux/2012-07/64177.htm

Gradle 打包 Groovy 脚本成 jar 与上传到 maven repository http://www.linuxidc.com/Linux/2012-07/64178.htm

Gradle 构建 Android 应用常见问题解决指南 http://www.linuxidc.com/Linux/2013-10/90807.htm

Gradle – 简单测试驱动 Web 程序 http://www.linuxidc.com/Linux/2013-11/92611.htm

Gradle – 使用介绍 http://www.linuxidc.com/Linux/2013-11/92611.htm

Gradle 的详细介绍 :请点这里
Gradle 的下载地址 :请点这里

本文永久更新链接地址 :http://www.linuxidc.com/Linux/2016-08/134136.htm

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2022-01-21发表,共计1729字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中