Gradle 使用实例
时间:2022-05-04
本文章向大家介绍Gradle 使用实例,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
- 总项目结构如下,其中有三个文件:
group=com.yawn version=1.0-SNAPSHOT
rootProject.name = 'demo6'
include 'entity'
include 'service'
include 'web'
allprojects {
apply plugin: 'java'
sourceCompatibility = 1.8
}
// 同 allprojects
subprojects {
repositories {
mavenLocal()
maven {
// maven 私服
url ''
}
mavenCentral()
}
dependencies {
compile group: 'org.apache.logging.log4j', name: 'log4j-core', version: '2.9.1'
testCompile group: 'junit', name: 'junit', version: '4.12'
}
}
- 此外,此项目下有三个子模块:entity、service、web,三个子模块的依赖关系为web-->service-->entity。三个子模块分别只有build.gradle文件,如下:
- entity
dependencies {
compile ('org.hibernate:hibernate-core:5.2.11.Final') {
// 排除hibernate对self4j的依赖
exclude(group: 'org.slf4j', module: 'selef4j-api')
}
}
dependencies {
compile project(":entity")
}
/*
def createDir = {
path ->
File dir = new File(path);
if (!dir.exists()) {
dir.mkdirs();
}
}
task makeJavaDir() {
def paths = ['src/main/java', 'src/main/resources', 'src/test/java', 'src/test/resources']
doFirst {
paths.forEach(createDir)
}
}
task makeWebDir() {
def paths = ['src/main/webapp']
doLast {
dependsOn(makeJavaDir)
paths.forEach(createDir)
}
}
*/
apply plugin: 'war'
dependencies {
compile project(":service")
}
/*
def createDir = {
path ->
File dir = new File(path);
if (!dir.exists()) {
dir.mkdirs();
}
}
task makeJavaDir() {
def paths = ['src/main/java', 'src/main/resources', 'src/test/java', 'src/test/resources']
doFirst {
paths.forEach(createDir)
}
}
task makeWebDir() {
def paths = ['src/main/webapp', 'src/test/webapp']
doLast {
dependsOn 'makeJavaDir'
paths.forEach(createDir)
}
}
*/
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- windows下matplotlib的安装
- Python中常见的数据类型总结
- stm32中阻塞模式和非阻塞模式 in blocking mode 与 in non-blocking mode区别
- 机器学习(四)—决策树
- 机器学习(五)—朴素贝叶斯
- C语言面试题——位域及大小端模式的理解
- stm32添加串口调试
- STM32单片机极简方法 使用宏定义 代替复杂的重定向printf()函数,实现串口打印。(HAL库例程)
- 机器学习(六)— logistic回归
- 如果简化stm32中printf函数的使用——首先重定向
- TF-IDF算法(2)—python实现
- C语言定义数组时使用枚举作为数组的下标
- 机器学习(七)—回归
- C语言定义数组时使用枚举作为数组的下标 ——c99功能
- C语言——for循环和while循环的效率区别——类似哨兵思想