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

springboot 也改用 gradle 了

  •  
  •   sagaxu 2020-06-09 10:10:58 +08:00 via Android 10071 次点击
    这是一个创建于 2004 天前的主题,其中的信息可能已经有所发展或是发生改变。
    距离 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  
    nbsp;  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 真香
    cookii
        28
    cookii  
       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 了解下。
    C02TobNClov1Dz56
        31
    C02TobNClov1Dz56  
       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
    C02TobNClov1Dz56
        32
    C02TobNClov1Dz56  
       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 镜像前不久有问题,不知道修复了没有
    C02TobNClov1Dz56
        34
    C02TobNClov1Dz56  
       2020-06-10 19:16:49 +08:00
    @sagaxu 我这边主用内网的 maven 仓库.
    cookii
        35
    cookii  
       2020-06-11 08:48:17 +08:00
    @chengyiqun 谢谢,我试一试
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3363 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 27ms UTC 04:48 PVG 12:48 LAX 20:48 JFK 23:48
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86