• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
阿米拌豆腐
种一棵树最好的时间是十年前,其次是现在。
博客园    首页    新随笔    联系   管理    订阅  订阅

【一】Gradle 初识

1.Gradle和Maven的对比

  1. gradle 使用groovy语言,可以进行逻辑判断,maven基于xml,无法进行逻辑判断。
  2. gradle 可以在一个项目中,根据需求,生成2个不同的jar, maven则不能从一个项目中,生成两个不同的jar或者war。需要修改多份xml。
  3. gralde 缓存会校验本地和远程是否发生变化,没变化就不会下载。maven不会。这里看gradle的目录结构,jar包的父层就是校验码。
  4. maven对于快照jar包,如果本地缓存了。那么远端仓库更新了,本地也不一定更新,而gradle 对于是否更新,可以做自定义的配置。

2.build.gradle

 1 #使用 java
 2 apply plugin: 'java'
 3 #设置版本号
 4 version = 0.3 
 5 #设置编译级别
 6 sourceCompatibility = 1.6
 7 
 8 #编译成jar
 9 jar {
10     manifest {
11         #设置启动类
12         attributes 'Main-Class': 'com.manning.gia.todo.ToDoApp'
13     }
14 }
15 #设置源码位置
16 sourceSets {
17     main {
18         java {
19             #设置源码目录
20             srcDirs = ['src']
21         }
22     }
23 }
24 
25 #输出的classes目录,默认是build
26 buildDir = 'out'
27 
28 #设置仓库
29 repositories {
30     mavenCentral()
31 }
32 #设置依赖
33 dependencies {
34     #依赖 groupId artifactId version
35     #测试时需要
36     testCompile group: 'junit', name: 'junit', version: '4.12'
37     #编译时需要 运行时不需要
38     providedCompile group: 'javax.servlet', name: 'jsp-api', version: '2.0'
39     #编译时 运行时都需要
40     compile group: 'org.springframework', name: 'spring-core', version: '5.1.5.RELEASE'
41     #编译时需要 运行时不需要
42     providedCompile 'javax.servlet:servlet-api:2.5',
43             'javax.servlet.jsp:jsp-api:2.1'
44     #运行时需要,编译时不需要
45     runtime 'javax.servlet:jstl:1.1.2',
46             'taglibs:standard:1.1.2'
47 }
48 #指定wep app 目录在哪里
49 webAppDirName = 'webfiles'
50 #指定静态资源的目录 从哪里引入 这里的配置有 要和webAppDirName相关联
51 war {
52     from 'static'
53 }
54 #构建 gradlew 任务 
55 task wrapper(type: Wrapper) {
56     gradleVersion = '4.8'
57     distributionType = 'all'  # bin和all
58     distributionBase    //包装器下载的相对地址
59     distributionUrl     //包装器下载的地址
60 }

3.gradle生成的目录介绍

  1. gradle下的build ,类似maven中的targer
  2. 生成后的war,在gradle中的lib下
  3. distributions 默认发包的目录

4.groovy基本语法介绍

println("hello groovy!")
println "hello groovy!"
println "acbc" - "c" //输出abc 字符串的单个的加减,感觉比java方便
def i = 18 //定义变量 弱类型 //集合操作 def list = ['a', 'b']//定义集合 list << 'c' //添加元素 println list.get(1)//获取元素 println list //map操作 def map = ['key1':'value1','key2':'value2'] map.key3 = 'value3'//设置值 println map.get('key1')//获取元素 println map //定义方法类型对象 闭包对象 def b1 = { println "hello b1" } //调用闭包对象的方法, def method1(Closure closure) { closure() } method1(b1) //带参数的闭包方法调用 def b2 = { v -> println "hello ${v}"; } def method2(Closure closure) { closure("aaa") } method2(b2)

 

posted @ 2019-08-12 20:15  阿米拌豆腐  阅读(174)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3