feitxue
V2EX  ›  Java

有看到好几个层主回复不建议使用 hutool 没看到具体理由

  •  1
     
  •   feitxue · Aug 1, 2023 · 23490 views
    This topic created in 1192 days ago, the information mentioned may be changed or developed.
    特意单独开贴提问下
    只有一个有具体讲到说是 hutool 整个引入太大了
    其他几个没有讲到具体理由
    是否遇到有什么大坑?
    请大家不吝赐教
    根据各位回复我需要评估下是否移除 hutool 的引用
    138 replies  •  2025-06-15 21:25:04 +08:00
    1  2  
    ❮ ❯
    ZiChun
    ZiChun
    Aug 1, 2023
    101
    @runzekk 我一开始就看到了啊。我说的是“线上环境谨慎使用”,你不是觉得我说的不对吗?我问的是你觉得有哪点不对。我自己 87 楼也说了 hutool 好用啊,我从来就没有不建议个人使用 hutool 。
    runzekk
    runzekk
    Aug 1, 2023
    102
    @ZiChun 只要你国内外都理性对待,不用有色眼镜看国产开源,就没问题。

    上面很多发言直接说国产,就很恶心。 国籍 > 理性讨论了。
    weijancc
    weijancc
    Aug 1, 2023
    103
    为了某个工具类就引入 hutool, 这玩意太臃肿了, 类名也跟其他常用工具类冲突.
    ZiChun
    ZiChun
    Aug 1, 2023
    104
    @runzekk 说实话,除了少部分语言例如 Rust 这种国内都不怎么流行的,流行比较久的语言,国内外开发水平基本属于是大差不差。但是国内的确实硬性条件上有个劣势,就是对于这些库的安全测试没有别的知名三方库覆盖全面。
    很多安全团队,基本都是逮着那些知名三方库做测试,像 hutool 这种,基本就是靠国人踩坑之后再改。
    不是说国产开发者不如国外开发者,这是生态上的问题。就像是操作系统国内一样能开发,但是没有生态支持,始终难以壮大,这个也并非一朝一夕能改善的,我的建议是,个人支持开源,但是涉及到线上,还是尽量少用。
    Qzier
    Qzier
    Aug 1, 2023
    105
    黑马和尚硅谷的讲师喜欢用,估计很多看他们视频的也习惯了用这个库。
    bigbigroll
    bigbigroll
    Aug 1, 2023
    106
    说 hutool 包大的不如先看看自己公司打的各种 SDK 包叭
    runzekk
    runzekk
    Aug 1, 2023
    107
    @ZiChun 一般般,国产优秀的很多。 阿波罗,cat ,nacos ,我司用了几年了,什么问题都没有。

    hutool 只是工具类,不能代表国内开源。

    工具类只是工具类。
    chuck1in
    chuck1in
    Aug 1, 2023
    108
    @ZiChun json 居然也用这个库?我以为都是单独引入库。
    @leetom mybatis 好像用这个的挺多的,反而想知道不用这个的朋友多不多。话说这个也不好吗。
    wxlwsy
    wxlwsy
    Aug 1, 2023
    109
    我看了一遍, 大部分不推荐的人其实就是 hutool 没有按照他们预期执行而已.
    人家源码摆在那直接不去看. 出错了就怪人家工具? 长见识了,牛逼!
    aino
    aino
    Aug 1, 2023
    110
    你们公司打出来的 jar 包多大?
    ciki
    ciki
    Aug 1, 2023
    111
    主要原因可能只是因为用到的只有 1%,但是却要引入很大的包
    xudaxian520bsz
    xudaxian520bsz
    Aug 1, 2023
    112
    @aino 都做 java 了,还在乎那边磁盘空间,这比隔壁的 node.js 要好很多,那才是地狱;其次,JDK 9 就提供了模块化系统了,没用过?其实,隔离的 node.js 也有模块化系统;没办法,JavaScript 可没有包的概念。
    QWE321ASD
    QWE321ASD
    Aug 1, 2023
    113
    其实就是触摸到某些人给他家 giegie 站台的敏感点了.说 hutool 有依赖的估计都是纯云,还有聊包体积大小的,不知道的还以为是开发安卓呢.你家服务器差你 2.5mb 空间,没有了直接不转了是吧.黑也黑到点上,hutool 确实出了好几个会导致 oom 的 bug,审核不严一个包下面有的方法抛异常有的抓了风格不统一.有事说事,别和个追星族似的.
    aino
    aino
    Aug 1, 2023
    114
    @xudaxian520bsz #112 所以我理解不了,他们为什么说 hutool 引入因为 jar 太大。。。。
    AweGod
    AweGod
    Aug 1, 2023
    115
    hutool 可以按不同功能引用,虽然我们公司项目是 hutool-all 一把梭 [狗]
    LuckyLight
    LuckyLight
    Aug 1, 2023 via iPhone
    116
    碰到了不兼容升级
    xuanbg
    xuanbg
    Aug 1, 2023
    117
    我说,你们是真的闲!有这个狗功夫,和我一样自己撸一个 utils 不好么?有 bug 自己秒修。
    Bingchunmoli
    Bingchunmoli
    Aug 1, 2023 via Android
    118
    @ZiChun springboot 1.3.x 道理是一样的吧,不升级永远都那样
    Bingchunmoli
    Bingchunmoli
    Aug 1, 2023 via Android
    119
    @zpf124 stringutil 。fastjson 有 spring 有 为什么用其他的,判空看源码都是==null 。isempty 。感觉没什么不同
    Bingchunmoli
    Bingchunmoli
    Aug 1, 2023 via Android
    120
    @nothingistrue 因为公司要 java
    tohuer00
    tohuer00
    Aug 2, 2023
    121
    不是说中国的开源项目就一定比美国的英国的法国的哪国的差。
    只是我觉得一个在世界范围流行的东西通常会比只在某个国家内流行的东西靠谱一些。

    有些人总喜欢把中国和全世界对立起来,不知道是什么心态。
    Mandyer
    Mandyer
    Aug 2, 2023
    122
    @ZiChun #42 哪个公司会立马跟进更新?好多公司还用老的 JDK 呢,做开发不都是秉持稳定无安全问题,不会积极更新,如更新则必然会有各种各样的问题。
    zpf124
    zpf124
    Aug 2, 2023
    123
    @Bingchunmoli
    基本上其实都差不多,常用的 isEmpty ,isBlank 就两三行,自己手写也和那几个工具类差不多,
    除此之外还有一些方法就是 String 默认方法包了一层空判断,比如 trim ,startWidth 之类的。

    我说这个只是类比,剩下的加解密、json 转换、日期转换也是好几个库都有,但选择的时候我还是优先选择了那些知名的、用的人多的。
    miaotaizi
    miaotaizi
    Aug 2, 2023
    125
    自己写的时候业务没理清, 怪技术水平?

    写什么高科技需要那么高的技术?
    heliotrope
    heliotrope
    Aug 2, 2023
    126
    我经常用 随便说一个 问题
    hutool 的 Cache 回调方法时碰到异常 会自己 Catch 再抛出 RuntimeException 把你自己抛出的自定义异常覆盖掉 导致全局自定义异常捕获失效

    开源的不喜欢自己改了就是了呗 我还是倾向于使用 hutool
    特别是 http 请求 蛮好用的 没碰到什么大问题
    carytseng
    carytseng
    Aug 2, 2023
    127
    工具而已,到了一定的程度解决问题更重要而不是关注这点小事
    zhady009
    zhady009
    Aug 2, 2023
    128
    1.臃肿很多情况 JDK 的够了也好用,例如日期 文件 IO 相关的只是有很多人不清楚怎么用
    2.有些命名很奇怪喜欢各种简写比如 BCUtil 等等..
    3.有些都是做一层装饰套娃本质没做什么,然后换个方法名(怪)
    BigBai
    BigBai
    Aug 2, 2023
    129
    小弟我是 ruoyi 和 hutool 都在用,因为公司就我一个 java 开发,项目能跑,下班能早
    ray2023
    ray2023
    Aug 2, 2023
    130
    @BigBai 俺也一样
    nekoneko
    nekoneko
    Aug 3, 2023
    131
    @Oktfolio #96

    重写的方法就两个, 一个 setTime , 一个 toString, 怎么会有坑呢
    你具体说说有啥坑呗
    Oktfolio
    Oktfolio
    Aug 3, 2023
    132
    @nekoneko #131 记不太清了,直接给我抛异常了,我之后就把所有的都 toJdkDate 了
    zsdroid
    zsdroid
    Aug 4, 2023
    133
    大家来鉴赏下下面这 2 句:
    Apache 、Google 、Spring 发布的工具包已经够用了,不需要 hutool 。
    Apache 、Google 、Spring 发布的工具包已经够用了,不许用 hutool 。
    发现很多人说的是第二种,竟然这么二极管思维。
    chachae
    chachae
    Aug 6, 2023
    134
    @bigbigroll 哈哈哈哈哈
    shiloh595
    shiloh595
    Mar 12, 2024
    135
    看到它的测试覆盖率就不敢再用了:(
    Flyfish233
    Flyfish233
    Mar 15, 2024
    136
    用了一个国内开发者写的库,他 fastjson 和 hutool 都 impl 了,导致依赖污染特别严重,自动补全经常跳出来 hutool 的包,我才第一次知道有这东西。又用不到,体积还特别大,后面有更好的库就立马换过去了,真吓人
    moonlord
    moonlord
    Jun 11, 2025
    137
    挖个坟,今天才知道 Alist 也被卖了,好像还是和 HuTool 一个公司……
    所以为什么不建议用呢?
    因为对开发维护人员不信任!存在供应链投毒风险!
    万一突然搞个彩蛋、突然停止维护、突然被转卖、突然被植入恶意代码,这谁受得了!

    https://github.com/AlistGo/alist/issues/8649
    looly
    looly
    Jun 15, 2025
    138
    @moonlord 说明见: https://github.com/chinabugotech/hutool/issues/3912

    时间和用户会检验一个项目的。
    1  2  
    ❮ ❯
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1610 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 89ms · UTC 18:06 · PVG 02:06 · LAX 10:06 · JFK 13:06
    ♥ Do have faith in what you're doing.