本issue为5.x升级到hutool 6.0不兼容汇总
格式:
版本:
不兼容情况:
- xxx
- xxx
版本:6.0.0.M3
不兼容情况:
其它都不是啥大问题,基本就是改包,部分方法名改了或者换了具体所在代码的位置。
逻辑上还没测,因为还没跑起来,无法验证。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。
版本:5.8.7 -> 6.0.0.M3
不兼容情况:
groupId
<dependency>
- <groupId>cn.hutool</groupId>
+ <groupId>org.dromara.hutool</groupId>
<artifactId>hutool-all</artifactId>
- <version>5.8.23</version>
+ <version>6.0.0-M8</version>
</dependency>
- import cn.hutool.xxx;
+ import org.dromara.hutool.xxx;
- import cn.hutool.core.util.StrUtil;
+ import org.dromara.hutool.core.text.StrUtil;
- import cn.hutool.core.util.NumberUtil;
+ import org.dromara.hutool.core.math.NumberUtil;
- import import cn.hutool.core.util.ArrayUtil;
+ import import org.dromara.hutool.core.array.ArrayUtil;
- cn.hutool.core.util.ObjectUtil.isNotEmpty(obj)
+ org.dromara.hutool.core.util.ObjUtil.isNotEmpty(obj)
- import cn.hutool.core.lang.func.Func1;
+ import org.dromara.hutool.core.func.SerFunction;
- import cn.hutool.core.lang.Filter;
+ import java.util.function.Predicate;
- cn.hutool.core.codec.Base64Encoder.encode(encryptAesKey);
+ org.dromara.hutool.core.codec.binary.Base64.encode(encryptAesKey);
- cn.hutool.core.codec.Base64Decoder.decode(pubKey);
+ org.dromara.hutool.core.codec.binary.Base64.decode(pubKey);
- cn.hutool.crypto.SecureUtil.generateKey(str)
+ org.dromara.hutool.crypto.KeyUtil.generateKey(str)
- cn.hutool.core.util.ReflectUtil.getFields(clazz)
+ org.dromara.hutool.core.reflect.FieldUtil.getFields(clazz)
- cn.hutool.core.date.LocalDateTimeUtil
- cn.hutool.core.date.DateUtil.date()
+ org.dromara.hutool.core.date.DateUtil.now();
- import cn.hutool.core.util.ArrayUtil;
+ import org.dromara.hutool.core.array.ArrayUtil;
- import cn.hutool.dfa.WordTree;
+ import org.dromara.hutool.core.text.dfa.WordTree;
- cn.hutool.core.text.replacer.ReplacerChain#replace(str)
- org.dromara.hutool.core.text.replacer.ReplacerChain#apply(str)
- import cn.hutool.core.lang.Dict;
+ import org.dromara.hutool.core.map.Dict;
- jsonObject.putOpt(key,value).putOpt(key,value)
- cn.hutool.core.exceptions.UtilException
- import cn.hutool.core.io.FileUtil;
+ import org.dromara.hutool.core.io.file.FileUtil;
- cn.hutool.core.collection.CollUtil.newArrayList(obj);
+ org.dromara.hutool.core.collection.ListUtil.of(obj);
- import cn.hutool.core.lang.tree.Tree;
+ import org.dromara.hutool.core.tree.MapTree;
- cn.hutool.json.JSONConfig.create()
- Xxx.create()
+ org.dromara.hutool.json.JSONConfig.of()
+ Xxx.of()
- cn.hutool.core.util.ReUtil.RE_CHINESE;
+ org.dromara.hutool.core.regex.PatternPool.CHINESE;
- cn.hutool.core.lang.DefaultSegment#getStartIndex
+ org.dromara.hutool.core.lang.range.DefaultSegment#getBeginIndex
- cn.hutool.core.io.FileUtil.extName(filePath)
+ org.dromara.hutool.core.io.file.FileNameUtil.extName(filePath)
- cn.hutool.http.HttpUtil.post(url, data, timeout)
+ org.dromara.hutool.http.HttpGlobalConfig.setTimeout(TIMEOUT);
+ org.dromara.hutool.http.HttpUtil.post(url, data)
- cn.hutool.http.HttpUtil.toParams(map)
+ org.dromara.hutool.core.net.url.UrlQueryUtil.toQuery(map)
待补充。。。
- cn.hutool.core.bean.BeanUtil;
- cn.hutool.core.bean.copier.CopyOptions;
+ org.dromara.hutool.core.bean.BeanUtil;
+ org.dromara.hutool.core.bean.copier.CopyOptions;
- cn.hutool.core.util.EnumUtil;
+ org.dromara.hutool.core.util.EnumUtil;
- cn.hutool.core.util.IdUtil;
+ org.dromara.hutool.core.data.id.IdUtil;
- cn.hutool.core.lang.RegexPool
+ org.dromara.hutool.core.regex.RegexPool
- cn.hutool.core.net.URLDecoder;
+ org.dromara.hutool.core.net.url.URLDecoder;
- cn.hutool.extra.spring.SpringUtil;
+ org.dromara.hutool.extra.spring.SpringUtil;
- cn.hutool.crypto.SecureUtil;
- cn.hutool.crypto.asymmetric.KeyType;
- cn.hutool.crypto.symmetric.AES;
- cn.hutool.core.util.HexUtil;
- cn.hutool.crypto.BCUtil;
- cn.hutool.crypto.SmUtil;
- cn.hutool.crypto.asymmetric.SM2;
- cn.hutool.crypto.symmetric.SM4;
+ org.dromara.hutool.crypto.SecureUtil;
+ org.dromara.hutool.crypto.asymmetric.KeyType;
+ org.dromara.hutool.crypto.symmetric.AES;
+ org.dromara.hutool.core.codec.HexUtil;
+ org.dromara.hutool.crypto.asymmetric.SM2;
+ org.dromara.hutool.crypto.symmetric.SM4;
+ org.dromara.hutool.crypto.bc.BCUtil;
+ org.dromara.hutool.crypto.bc.SmUtil;
- cn.hutool.core.img.ImgUtil;
+ org.dromara.hutool.swing.img.ImgUtil;
- cn.hutool.core.util.RandomUtil;
+ org.dromara.hutool.core.util.RandomUtil;
- cn.hutool.core.codec.Base64;
- cn.hutool.core.io.FileUtil;
- cn.hutool.core.io.IORuntimeException;
- cn.hutool.system.SystemUtil;
+ org.dromara.hutool.core.codec.binary.Base64;
+ org.dromara.hutool.core.io.IORuntimeException;
+ org.dromara.hutool.core.io.file.FileUtil;
+ org.dromara.hutool.extra.management.ManagementUtil;
+ org.dromara.hutool.swing.img.FontUtil;
- cn.hutool.core.img.FontUtil;
- cn.hutool.captcha.CaptchaUtil;
- cn.hutool.captcha.CircleCaptcha;
- cn.hutool.captcha.GifCaptcha;
- cn.hutool.captcha.LineCaptcha;
- cn.hutool.captcha.ShearCaptcha
+ org.dromara.hutool.swing.captcha.CaptchaUtil;
+ org.dromara.hutool.swing.captcha.CircleCaptcha;
+ org.dromara.hutool.swing.captcha.GifCaptcha;
+ org.dromara.hutool.swing.captcha.LineCaptcha;
+ org.dromara.hutool.swing.captcha.ShearCaptcha
- cn.hutool.core.date.DateUtil;
+ org.dromara.hutool.core.date.DateUtil;
- cn.hutool.extra.servlet.JakartaServletUtil;
- cn.hutool.http.useragent.UserAgent;
- cn.hutool.http.useragent.UserAgentUtil;
+ org.dromara.hutool.http.server.servlet.JakartaServletUtil;
+ org.dromara.hutool.http.useragent.UserAgent;
+ org.dromara.hutool.http.useragent.UserAgentUtil;
- cn.hutool.core.io.IoUtil;
+ org.dromara.hutool.core.io.IoUtil;
- cn.hutool.core.collection.CollUtil;
- cn.hutool.core.util.ArrayUtil;
+ org.dromara.hutool.core.array.ArrayUtil;
+ org.dromara.hutool.core.collection.CollUtil;
- cn.hutool.core.lang.tree.Tree;
- cn.hutool.core.lang.tree.TreeNode;
- cn.hutool.core.lang.tree.TreeUtil;
+ org.dromara.hutool.core.tree.MapTree;
+ org.dromara.hutool.core.tree.TreeNode;
+ org.dromara.hutool.core.tree.TreeUtil;
- RandomUtil.randomEleList(WORDS, wordCount);
+ RandomUtil.randomEles(WORDS, wordCount);
- FileUtil.exist(file))
+ FileUtil.exists(file))
- ReflectUtil.setFieldValue(clientPrincipal, "authorities", authorities);
+ FieldUtil.setFieldValue(clientPrincipal, "authorities", authorities);
- StrUtil.utf8Bytes(data));
+ ByteUtil.toUtf8Bytes(data));
- (sm2.decryptFromBcd(content, KeyType.PrivateKey));
+ (sm2.decrypt(content, KeyType.PrivateKey));
- sm2.encryptBcd(content, KeyType.PublicKey);
+ sm2.encryptHex(content, KeyType.PublicKey);
- CollUtil.split(phones, 200);
+ CollUtil.partition(phones, 200);
ArrayUtil.toArray 删除
AnimatedGifEncoder -> 引入 animated-gif-lib
- cn.hutool.core.collection.IterUtil
+ org.dromara.hutool.core.collection.iter.IterUtil
弱弱的问一句。。。
虽然我知道需要规范化,统一组织 group
可是换包名真的好吗?
目前我们是把 hutool 作为最基础的 util 放在公司公共包里使用,如果一旦发生包名变更,这个改动难以想象。。
确实
这就是比较无奈的地方了,hutoo 6.x 实际上就是 hutool2,5.x 不能也不推荐直接升级到 6.x,后续我们会在文档上强调这一点的。
ArrayUtil.range()是删除了吗?
大可不必,我刚试了下,步骤如下:
ServletUtil中引用的HttpSerlvetRequest是javax中,而OpenJDK18中默认是jakarta,两个不兼容
可能等到hutool6正式发布后,我们得写一个猥琐的hutool5 Adaptat hutool6的中间层,这样子才能无缝使用。
请问TimeInterval是取消了么
6.0.0-M10 需要手动指定依赖 bouncycastle 相关模块。
参见问题:
由于不同项目实现以及启动时 classpath 顺序的不同,可能存在需要清理所有 bouncycastle 15on 的依赖情况
6.0.0-M12 版本的 FileUtil.writeFromStream() 这个方法用什么替换?找了半天没找到
有没有群交流下啊,5版本升级到6版本好多都变了,不习惯啊
登录 后才可以发表评论