V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
sagaxu
V2EX  ›  Java

springboot 也改用 gradle 了

  •  
  •   sagaxu · 2020-06-09 10:10:58 +08:00 via Android · 9301 次点击
    这是一个创建于 1388 天前的主题,其中的信息可能已经有所发展或是发生改变。
    距离 spring5 迁移到 gradle 已有数年,看来是比较满意
    35 条回复    2020-06-11 08:48:17 +08:00
    GM
        1
    GM  
       2020-06-09 10:15:39 +08:00
    罄竹难书又加上一笔。
    chendy
        2
    chendy  
       2020-06-09 10:16:57 +08:00
    简单项目用啥都差不多
    spring-boot 项目结构这么复杂,应该是 gradle 好一些吧
    gz911122
        3
    gz911122  
       2020-06-09 10:25:44 +08:00
    spring : gradle 真香.
    aut0man
        4
    aut0man  
       2020-06-09 10:37:36 +08:00
    不太了解市场的问一哈,现在 gradle 的应用率高吗?(不特指项目,先问大环境下高不高,再问具体细分行业(无论是啥)高不高)
    marven 不是 java 界太子吗?(求知的眼神)
    cheng6563
        5
    cheng6563  
       2020-06-09 10:39:57 +08:00 via Android
    gradle 墙内还是难用
    gjf
        6
    gjf  
       2020-06-09 10:42:36 +08:00
    maven
    gz911122
        7
    gz911122  
       2020-06-09 10:48:30 +08:00
    @aut0man 大环境应该挺高的. java 目前主要的两个方向
    android 全部都是 gradle, 后端有的是 maven 有的是 gradle
    srx1982
        8
    srx1982  
       2020-06-09 10:53:14 +08:00
    gradle 感觉还是慢
    glaucus
        9
    glaucus  
       2020-06-09 11:31:17 +08:00
    之前在小公司一直用 Gradle,现在回到 Maven 还有点不习惯
    Aurt
        10
    Aurt  
       2020-06-09 11:55:58 +08:00
    gradle 凭借一己之力,为高端生产力电脑打开销量。
    sagaxu
        11
    sagaxu  
    OP
       2020-06-09 12:02:05 +08:00 via Android
    @cheng6563 墙内跟 maven 一样,配腾讯 mirror 就好了
    BBCCBB
        12
    BBCCBB  
       2020-06-09 12:19:53 +08:00
    不负责任的猜测一下, 项目太大了, maven 用起来繁琐不灵活, 一般的项目用 maven 还是没啥问题的, 学习成本比 gradle 小.

    我是先用的 gradle 然后用的 maven, 都能用. 用起来没啥毛病
    cheng6563
        13
    cheng6563  
       2020-06-09 12:28:16 +08:00 via Android
    idea 的 gradle 整合方式也和 maven 不同。
    maven 是 idea 解析 pom.xml 配置,然后转换成 idea 项目使用。而整合 gradle 更多是直接调用 gradle 命令,要慢上很多。
    比如启动一个 junit 测试,maven 项目马上就执行了,gradle 项目还要慢悠悠等 gradle 启动再执行
    slyang5
        14
    slyang5  
       2020-06-09 12:33:25 +08:00
    @cheng6563 你估计不会用吧 !
    mazai
        15
    mazai  
       2020-06-09 14:52:23 +08:00
    @cheng6563 这个可以选的,可以用 gradle 预编译后启动,也可以使用 idea 的启动方式
    pmispig
        16
    pmispig  
       2020-06-09 15:37:47 +08:00
    借道问下 gradle 能解决 maven 每次编译出来的包 md5 都不一样的问题吗,就算代码没变。
    sagaxu
        17
    sagaxu  
    OP
       2020-06-09 15:39:52 +08:00 via Android
    @pmispig gradle 可以,但是打包后会失去文件修改时间
    iFlicker
        18
    iFlicker  
       2020-06-09 16:58:07 +08:00 via Android
    Android 开发表示用好多年 gradle 了 挺香的
    Yuicon
        19
    Yuicon  
       2020-06-09 17:10:01 +08:00
    没用过 很多 maven 插件 都有对应的么
    beneo
        20
    beneo  
       2020-06-09 17:14:57 +08:00
    gradle 版本太快,向下兼容差,而且对机器要求高,如果公司几个项目用不同版本的 gradle,daemon 模式下可能存在多个进程导致打包失败
    uxstone
        21
    uxstone  
       2020-06-09 17:16:10 +08:00
    Pivotal 应该是买了 Gradle Enterprise
    wnpllrzodiac
        22
    wnpllrzodiac  
       2020-06-09 17:45:37 +08:00 via Android
    @cheng6563 有一次一个依赖死活干不下来。装个路由器全局出去才搞定
    abcbuzhiming
        23
    abcbuzhiming  
       2020-06-09 18:17:39 +08:00   ❤️ 1
    spring boot 肯定会用 gradle,因为本质上 spring boot 是一个巨石应用,巨石应用使用带有 dsl,可以把打包过程玩出花的 gradle,自然如鱼得水,但是绝大部分用 spring boot 开发的应用,都只是微型应用,maven 稳定可靠,有啥不可。什么环境用什么东西
    mreasonyang
        24
    mreasonyang  
       2020-06-09 21:55:44 +08:00 via iPhone   ❤️ 1
    复杂项目肯定要上 gradle 啊,maven 那扩展机制的开发维护成本被 gradle 吊打啊。简单项目就没必要了,喜欢听风扇声的同学例外😂
    nicevar
        25
    nicevar  
       2020-06-09 22:44:31 +08:00
    android 发展到现在碎片化太严重了,要还是以前的 eclipse+ant 根本搞不定复杂的项目,gradle 功能还是强
    wvitas
        26
    wvitas  
       2020-06-09 23:00:57 +08:00
    上 gradle 恭喜你,你的 C 盘会爆的
    LokiSharp
        27
    LokiSharp  
       2020-06-09 23:29:44 +08:00
    gradle + Kotlin 真香
    imzhoukunqiang
        28
    imzhoukunqiang  
       2020-06-10 09:15:56 +08:00
    没怎么用过 gradle,但是真的很慢很慢很慢,是我的问题吗?
    ala2008
        29
    ala2008  
       2020-06-10 10:03:26 +08:00
    我们 2016 年就开始用 gradle 了
    travo
        30
    travo  
       2020-06-10 16:12:20 +08:00
    @cheng6563 我咋觉得这是优点?没有 IDE 的转换、二次加工,而是原生 build 工具。至于速度慢,gradle daemon 了解下。
    chengyiqun
        31
    chengyiqun  
       2020-06-10 18:02:37 +08:00
    @imzhoukunqiang
    C:\Users\yourUserName\.gradle\init.gradle

    ext {
    buildRamdiskDir = null
    }

    static String getRamdiskDir() {
    return "R:/"
    }


    allprojects {
    repositories {
    maven {url "http://maven.aliyun.com/nexus/content/groups/public/"}
    }

    if (buildRamdiskDir == null) {
    buildRamdiskDir = getRamdiskDir()
    if (buildRamdiskDir == null) {
    buildRamdiskDir = "";
    }
    System.err.println("Build Ramdisk: " + buildRamdiskDir)
    }

    if (buildRamdiskDir != null && buildRamdiskDir.length() > 0) {
    buildDir = "${buildRamdiskDir}/build/${rootProject.name}/${project.name}"
    }

    tasks.withType(JavaCompile) {
    // 忽略 gradle 的编译警告
    options.compilerArgs << '-Xlint:none'
    //在单独的守护进程中启用编译
    options.fork = true
    // 增量
    options.incremental = true
    options.encoding = "UTF-8"
    }

    }



    我配置了全局 gradle 配置, 启用增量编译, 守护进程, ramdisk
    你看着改.
    还有, 尽量用高版本的 gradle 和高版本 jvm. 至少 gradle 不能低于 4.10
    chengyiqun
        32
    chengyiqun  
       2020-06-10 18:04:18 +08:00
    @imzhoukunqiang 对了, 关键就是镜像, 官方的 apache maven 仓库国内非常慢, 指定阿里云, 把 apache maven 仓库干掉就快了. 我们公司甚至有自己的内网自建的 maven 仓库, 自己项目用, 还会更快.
    sagaxu
        33
    sagaxu  
    OP
       2020-06-10 18:21:32 +08:00 via Android
    @chengyiqun 阿里云的 maven 和 npm 镜像前不久有问题,不知道修复了没有
    chengyiqun
        34
    chengyiqun  
       2020-06-10 19:16:49 +08:00
    @sagaxu 我这边主用内网的 maven 仓库.
    imzhoukunqiang
        35
    imzhoukunqiang  
       2020-06-11 08:48:17 +08:00
    @chengyiqun 谢谢,我试一试
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   3352 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 13:23 · PVG 21:23 · LAX 06:23 · JFK 09:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.