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

简介: 之前写过一篇maven项目中java与scala如何混用,今天来看看gradle项目中如何达到同样的效果: 一、目录结构 基本上跟maven一样,tips:这一堆目录结构不用死记,后面会讲如何用gradle命令快速生成   二、build.

之前写过一篇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

目录
相关文章
|
1月前
|
Java 应用服务中间件 开发工具
苍穹外卖》电商实战项目(java)知识点整理(上)
苍穹外卖》电商实战项目(java)知识点整理(上)
190 3
|
1月前
|
SQL Java 应用服务中间件
Java项目防止SQL注入的四种方案
Java项目防止SQL注入的四种方案
38 0
|
29天前
|
人工智能 监控 算法
java智慧城管源码 AI视频智能分析 可直接上项目
Java智慧城管源码实现AI视频智能分析,适用于直接部署项目。系统运用互联网、大数据、云计算和AI提升城市管理水平,采用“一级监督、二级指挥、四级联动”模式。功能涵盖AI智能检测(如占道广告、垃圾处理等)、执法办案、视频分析、统计分析及队伍管理等多个模块,利用深度学习优化城市管理自动化和智能化,提供决策支持。
208 4
java智慧城管源码 AI视频智能分析 可直接上项目
|
13天前
|
监控 数据可视化 安全
智慧工地SaaS可视化平台源码,PC端+APP端,支持二开,项目使用,微服务+Java++vue+mysql
环境实时数据、动态监测报警,实时监控施工环境状态,有针对性地预防施工过程中的环境污染问题,打造文明生态施工,创造绿色的生态环境。
11 0
智慧工地SaaS可视化平台源码,PC端+APP端,支持二开,项目使用,微服务+Java++vue+mysql
|
15天前
|
SQL Java Go
java项目超市购物管理系统
java项目超市购物管理系统
|
15天前
|
Java
java项目日历表
java项目日历表
|
27天前
|
Java Maven
运行maven项目出现Error:java: JDK isn‘t specified for module ‘XXX‘
运行maven项目出现Error:java: JDK isn‘t specified for module ‘XXX‘
12 0
|
27天前
|
缓存 NoSQL Java
Java项目:支持并发的秒杀项目(基于Redis)
Java项目:支持并发的秒杀项目(基于Redis)
26 0
|
1月前
|
Java 测试技术 API
云效流水线构建gradle项目失败提示gradle版本过低如何解决
云效(CloudEfficiency)是阿里云提供的一套软件研发效能平台,旨在通过工程效能、项目管理、质量保障等工具与服务,帮助企业提高软件研发的效率和质量。本合集是云效使用中可能遇到的一些常见问题及其答案的汇总。
30 0
|
1月前
|
算法 搜索推荐 Java
利用java编写的项目设备调配系统代码示例(内含5种设备调配的算法)
利用java编写的项目设备调配系统代码示例(内含5种设备调配的算法)
13 1

热门文章

最新文章