共计 1729 个字符,预计需要花费 5 分钟才能阅读完成。
之前写过一篇 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 创建项目目录结构 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