diff --git a/CHANGELOG_5.0-5.7.md b/CHANGELOG_5.0-5.7.md deleted file mode 100755 index 04fc0e922..000000000 --- a/CHANGELOG_5.0-5.7.md +++ /dev/null @@ -1,1878 +0,0 @@ - -# 🚀Changelog - -# 5.7.22 (2022-03-01) - -### 🐣新特性 -* 【poi 】 ExcelUtil.readBySax增加对POI-5.2.0的兼容性(issue#I4TJF4@Gitee) -* 【extra 】 Ftp增加构造(issue#I4TKXP@Gitee) -* 【core 】 GenericBuilder支持Map构建(pr#540@Github) -* 【json 】 新增TemporalAccessorSerializer -* 【core 】 使多个xxxBuilder实现Builder接口,扩展CheckedUtil(pr#545@Gitee) -* 【core 】 CheckedUtil删除第二个参数为RuntimeException的方法 -* 【core 】 FileUtil增加getTotalLines方法 -* 【db 】 MetaUtil增加getTableMeta重载(issue#2157@Github) -* 【http 】 增加HttpGlobalConfig.setDecodeUrl(issue#I4U8YQ@Gitee) -* 【core 】 增加Base58(pr#2162@Github) -* 【core 】 增加AntPathMatcher(issue#I4T7K5@Gitee) -* 【core 】 StrJoiner修改toString策略,调用不再修改Appendable -* 【core 】 StrJoiner增加length和merge方法 -* 【core 】 CRC16增加getHexValue方法(issue#I4VO3U@Gitee) - -### 🐞Bug修复 -* 【cache 】 修复ReentrantCache.toString方法线程不安全问题(issue#2140@Github) -* 【core 】 修复SystemPropsUtil.getInt返回long问题(pr#546@Gitee) -* 【crypto 】 修复SM2.getD前导0问题(pr#2149@Github) -* 【core 】 修复ChineseDate在1970年之前农历差一天问题(issue#I4UTPK@Gitee) -* 【core 】 修复CoordinateUtil精准问题及转换bug(pr#551@Gitee) -* 【json 】 修复JSONObject解析XML后没有返回的bug(issue#2160@Github) -* 【extra 】 修复GanymedUtil错误信息读取位置问题(issue#I4VDZ2@Gitee) - -------------------------------------------------------------------------------------------------------------- -# 5.7.21 (2022-02-14) - -### 🐣新特性 -* 【extra 】 增加jetbrick模板支持 -* 【extra 】 EmojiUtil增加方法(pr#519@Gitee) -* 【core 】 DateUtil 添加两个日期是否同一周方法(pr#516@Gitee) -* 【db 】 新增条件组,用于处理复杂的where条件(pr#514@Gitee) -* 【core 】 新增LocalDateTimeUtil.weekOfYear(issue#I4RWXC@Gitee) -* 【core 】 Month增加toJdkMonth、getValueBaseOne -* 【core 】 CsvWriter修改规则,去除末尾多余换行符(issue#I4RSQY@Gitee) -* 【core 】 DateUtil增加rangeFunc和rangeConsume(issue#I4RSQY@Gitee) -* 【core 】 DateTime增加setUseJdkToStringStyle方法 -* 【core 】 CharSequenceUtil增加replace重载(issue#2122@Github) -* 【core 】 IntMap和LongMap使用位运算快速求解取余运算(pr#2123@Github) -* 【core 】 新增通用builder类:GenericBuilder(pr#526@Gitee) -* 【core 】 新增copySafely方法与mkdirsSafely方法(pr#527@Gitee) -* 【core 】 新增MetroHash(pr#532@Gitee) -* 【core 】 SpringUtil增加publishEvent重载(pr#2139@Github) -* 【core 】 DateUtil增加rangeContains、rangeNotContains(pr#537@Gitee) -* 【core 】 Resource增加isModified默认方法 -* 【core 】 增加VfsResource -* 【json 】 JSONConfig增加setKeyComparator、setNatureKeyComparator方法,支持自定义排序(issue#I4RBZ4@Gitee) - -### 🐞Bug修复 -* 【core 】 修复ChineseDate农历获取正月出现数组越界BUG(issue#2112@Github) -* 【extra 】 修复EmojiUtil.toHtmlHex()方法(pr#519@Gitee) -* 【system 】 修复CpuInfo.getUsed()方法(issue#2116@Github) -* 【dfa 】 修复密集匹配和贪婪匹配冲突问题(issue#2126@Github) -* 【db 】 修复c3p0丢失信息问题(issue#I4T7XZ@Gitee) -* 【http 】 修复Action中HttpExchange没有关闭问题 -* 【http 】 修复Action中HttpExchange没有关闭问题 - -------------------------------------------------------------------------------------------------------------- -# 5.7.20 (2022-01-20) - -### 🐣新特性 -* 【core 】 增加对null值友好的groupingBy操作的Collector实现,可指定map类型(pr#498@Gitee) -* 【core 】 增加KetamaHash(issue#2084@Github) -* 【crypto 】 增加SignUtil -* 【json 】 JSONGetter增加getBeanList方法 -* 【core 】 ObjectUtil 添加三个defaultIfXxxx方法,用于节省CPU及内存损耗(pr#2094@Github) -* 【db 】 增加单条数据原生upsert语义支持(pr#501@Gitee) -* 【core 】 在CollectorUtil提交Collectors.toMap的对null友好实现,避免NPE(pr#502@Gitee) -* 【http 】 增加HttpGlobalConfig.setIgnoreEOFError(issue#2092@Github) -* 【core 】 RandomUtil.randomStringWithoutStr排除字符串兼容大写字母(pr#503@Gitee) -* 【core 】 LocalDateTime增加isOverlap方法(pr#512@Gitee) -* 【core 】 Ipv4Util.getBeginIpLong、getEndIpLong改为public(pr#508@Gitee) -* -### 🐞Bug修复 -* 【core 】 修复setter重载导致匹配错误(issue#2082@Github) -* 【core 】 修复RegexPool汉字匹配范围小问题(pr#2081@Github) -* 【core 】 修复OS中的拼写错误(pr#500@Gitee) -* 【core 】 修复CustomKeyMap的merge失效问题(issue#2086@Github) -* 【core 】 修复FileUtil.appendLines换行问题(issue#I4QCEZ@Gitee) -* 【core 】 修复java.time.Month解析问题(issue#2090@Github) -* 【core 】 修复PathUtil.moveContent移动覆盖导致的问题(issue#I4QV0L@Gitee) -* 【core 】 修复Opt.ofTry中并发环境下线程安全问题(pr#504@Gitee) -* 【core 】 修复PatternFinder中end边界判断问题(issue#2099@Github) -* 【core 】 修复格式化为中文日期时,0被处理为空串(pr#507@Gitee) -* 【core 】 修复UrlPath转义冒号问题(issue#I4RA42@Gitee) - -------------------------------------------------------------------------------------------------------------- -# 5.7.19 (2022-01-07) - -### 🐣新特性 -* 【db 】 优化Condition参数拆分(pr#2046@Github) -* 【core 】 优化ArrayUtil.isAllEmpty性能(pr#2045@Github) -* 【core 】 CharSequenceUtil.replace方法支持增补字符(pr#2041@Github) -* 【extra 】 增加SshjSftp(pr#493@Gitee) -* 【core 】 增加CheckedUtil(pr#491@Gitee) -* 【extra 】 增加Sftp.isDir中的抛异常判断条件(issues#I4P9ED@Gitee) - -### 🐞Bug修复 -* 【http 】 HttpUtil重定向次数失效问题(issue#I4O28Q@Gitee) -* 【core 】 修复UrlPath空白path多/问题(issue#I49KAL@Gitee) -* 【core 】 修复ServletUtil写出文件时未添加双引号导致逗号等特殊符号引起的问题(issue#I4P1BF@Gitee) -* 【core 】 NumberUtil增加equals重载解决long传入判断问题(pr#2064@Github) -* 【core 】 修复CsvParser行号有误问题(pr#2065@Github) -* 【http 】 修复HttpRequest.of无法自动添加http前缀问题(issue#I4PEYL@Gitee) -* 【core 】 修复 `CharSequenceUtil.brief(str, maxLength)` 方法字符串越界问题,以及 `maxLength` 部分值时结果与预期不符的问题(pr#2068@Github) -* 【core 】 修复NamingCase中转换下划线字母+数字转换问题(issue#2070@Github) -* 【core 】 修复split空判断不一致问题(pr#496@Gitee) -* 【crypto 】 修复SM2.getDHex()前导0丢失,然后导致获取密钥错误(pr#2073@Github) -* 【core 】 修复关于Calculator.conversion()方法EmptyStackException的bug(pr#2076@Github) -* 【core 】 修复StrUtil.subBetweenAll循环bug(issue#I4PT3M@Gitee) - -------------------------------------------------------------------------------------------------------------- -# 5.7.18 (2021-12-25) - -### 🐣新特性 -* 【core 】 新增CollStreamUtil.groupKeyValue(pr#479@Gitee) -* 【core 】 新增DatePattern.createFormatter(pr#483@Gitee) -* 【core 】 增加IdUtil.getSnowflakeNextId(pr#485@Gitee) -* 【log 】 log4j2的编译依赖改为api,core为test依赖(pr#2019@Github) -* 【core 】 Img.scale缩小默认使用平滑模式,增加scale方法重载可选模式(issue#I4MY6X@Gitee) -* 【core 】 excel添加写入图片的方法(pr#486@Gitee) -* 【core 】 增加CollStreamUtil.groupBy(pr#484@Gitee) -* 【core 】 增加CollUtil.setValueByMap(pr#482@Gitee) -* 【core 】 LocalDateTimeUtil增加endOfDay重载(issue#2025@Github) -* 【core 】 IoCopier增加setFlushEveryBuffer方法(issue#2022@Github) -* -### 🐞Bug修复 -* 【core 】 LineReadWatcher#onModify文件清空判断问题(issue#2013@Github) -* 【core 】 修复4位bytes转换float问题(issue#I4M0E4@Gitee) -* 【core 】 修复CharSequenceUtil.replace问题(issue#I4M16G@Gitee) -* 【json 】 修复JSONObject 初始化大小值未被使用问题(issue#2016@Github) -* 【core 】 修复StrUtil.startWith都为null返回错误问题(issue#I4MV7Q@Gitee) -* 【core 】 修复PasswdStrength检测问题(issue#I4N48X@Gitee) -* 【core 】 修复UserAgentUtil解析EdgA无法识别问题(issue#I4MCBP@Gitee) -* 【extra 】 修复Archiver路径前带/问题(issue#I4NS0F@Gitee) -* 【extra 】 修复getMainColor方法中参数rgbFilters无效问题(pr#2034@Github) -* 【core 】 修复ChineseDate无法区分闰月问题(issue#I4NQQW@Gitee) -* 【core 】 修复BeanDesc大小写误判问题(issue#2009@Github) - -------------------------------------------------------------------------------------------------------------- -# 5.7.17 (2021-12-09) - -### 🐣新特性 -* 【core 】 增加AsyncUtil(pr#457@Gitee) -* 【http 】 增加HttpResource(issue#1943@Github) -* 【http 】 增加BytesBody、FormUrlEncodedBody -* 【cron 】 TaskTable.remove增加返回值(issue#I4HX3B@Gitee) -* 【core 】 Tree增加filter、filterNew、cloneTree、hasChild方法(issue#I4HFC6@Gitee) -* 【poi 】 增加ColumnSheetReader及ExcelReader.readColumn,支持读取某一列 -* 【core 】 IdCardUtil.isValidCard不再自动trim(issue#I4I04O@Gitee) -* 【core 】 改进TextFinder,支持限制结束位置及反向查找模式 -* 【core 】 Opt增加部分方法(pr#459@Gitee) -* 【core 】 增加DefaultCloneable(pr#459@Gitee) -* 【core 】 CollStreamUtil增加是否并行的重载(pr#467@Gitee) -* 【core 】 ResourceClassLoader增加缓存(pr#1959@Github) -* 【crypto 】 增加CipherWrapper,增加setRandom(issue#1958@Github) -* 【core 】 Opt增加ofTry方法(pr#1956@Github) -* 【core 】 DateUtil.toIntSecond标记为弃用(issue#I4JHPR@Gitee) -* 【db 】 Db.executeBatch标记一个重载为弃用(issue#I4JIPH@Gitee) -* 【core 】 增加CharSequenceUtil.subPreGbk重载(issue#I4JO2E@Gitee) -* 【core 】 ReflectUtil.getMethod排除桥接方法(pr#1965@Github) -* 【http 】 completeFileNameFromHeader在使用path为路径时,自动解码(issue#I4K0FS@Gitee) -* 【core 】 CopyOptions增加override配置(issue#I4JQ1N@Gitee) -* 【poi 】 SheetRidReader可以获取所有sheet名(issue#I4JA3M@Gitee) -* 【core 】 AsyncUtil.waitAny增加返回值(pr#473@Gitee) -* 【core 】 Calculator.compare改为private(issue#1982@Github) -* 【core 】 NumberUtil增加isOdd、isEven方法(pr#474@Gitee) -* 【http 】 增加HttpGlobalConfig.setBoundary,删除MultipartBody.BOUNDARY和getContentType(issue#I4KSLY@Gitee) -* 【core 】 DateTime增加setMinimalDaysInFirstWeek(issue#1988@Github) -* 【db 】 Db增加query重载,可支持自定义PreparedStatement,从而支持游标(issue#I4JXWN@Gitee) -* 【cache 】 CacheObj增加getExpiredTime等方法(issue#I4LE80@Gitee) -* 【extra 】 Ftp增加backToPwd方法(issue#2004@Github) -* 【core 】 CollStreamUtil修改集合中null处理问题(pr#478@Gitee) -* -### 🐞Bug修复 -* 【core 】 修复FileResource构造fileName参数无效问题(issue#1942@Github) -* 【cache 】 修复WeakCache键值强关联导致的无法回收问题(issue#1953@Github) -* 【core 】 修复ZipUtil相对路径父路径获取null问题(issue#1961@Github) -* 【http 】 修复HttpUtil.normalizeParams未判空导致的问题(issue#1975@Github) -* 【poi 】 修复读取日期类型的自定义样式单元格时间结果为1899年问题(pr#1977@Github) -* 【poi 】 修复SoapClient参数未使用问题 -* 【core 】 修复HashUtil.cityHash128参数未使用问题 -* 【core 】 修复DateUtil.formatChineseDate显示问题(issue#I4KK5F@Gitee) -* 【poi 】 修复CellUtil.setCellValueStyle空导致值无法写入问题(issue#1995@Github) -* 【poi 】 修复CellUtil.setComment参数设置错误问题 -* 【core 】 修复QueryBuilder解析路径导致的错误(issue#1989@Github) -* 【core 】 修复DateTime.between中DateUnit无效问题 -* 【poi 】 修复StyleUtil.getFormat非static问题(issue#I4LGNP@Gitee) -* 【crypto 】 修复SM2.getD返回bytes包含符号位的问题(issue#2001@Github) - -------------------------------------------------------------------------------------------------------------- - -# 5.7.16 (2021-11-07) - -### 🐣新特性 -* 【core 】 增加DateTime.toLocalDateTime -* 【core 】 CharSequenceUtil增加normalize方法(pr#444@Gitee) -* 【core 】 MailAccount增加setEncodefilename()方法,可选是否编码附件的文件名(issue#I4F160@Gitee) -* 【core 】 MailAccount中charset增加null时的默认规则 -* 【core 】 NumberUtil.compare修正注释说明(issue#I4FAJ1@Gitee) -* 【core 】 增加RFC3986类 -* 【extra 】 Sftp增加put和upload重载(issue#I4FGDH@Gitee) -* 【core 】 TemporalUtil增加toChronoUnit、toTimeUnit方法(issue#I4FGDH@Gitee) -* 【core 】 StopWatch增加prettyPrint重载(issue#1910@Github) -* 【core 】 修改RegexPool中Ipv4正则 -* 【json 】 Filter改为MutablePair,以便编辑键值对(issue#1921@Github) -* 【core 】 Opt增加peeks方法(pr#445@Gitee) -* 【extra 】 MailAccount中user默认值改为邮箱全称(issue#I4FYVY@Gitee) -* 【core 】 增加CoordinateUtil(pr#446@Gitee) -* 【core 】 DateUtil增加rangeToList重载(pr#1925@Github) -* 【core 】 CollUtil增加safeContains方法(pr#1926@Github) -* 【core 】 ActualTypeMapperPool增加getStrKeyMap方法(pr#447@Gitee) -* 【core 】 TreeUtil增加walk方法(pr#1932@Gitee) -* 【crypto 】 SmUtil增加sm3WithSalt(pr#454@Gitee) -* 【http 】 增加HttpInterceptor(issue#I4H1ZV@Gitee) -* 【core 】 Opt增加flattedMap(issue#I4H1ZV@Gitee) - -### 🐞Bug修复 -* 【core 】 修复UrlBuilder.addPath歧义问题(issue#1912@Github) -* 【core 】 修复StrBuilder中总长度计算问题(issue#I4F9L7@Gitee) -* 【core 】 修复CharSequenceUtil.wrapIfMissing预定义长度计算问题(issue#I4FDZ2@Gitee) -* 【poi 】 修复合并单元格为日期时,导出单元格数据为数字问题(issue#1911@Github) -* 【core 】 修复CompilerUtil.getFileManager参数没有使用的问题(issue#I4FIO6@Gitee) -* 【core 】 修复NetUtil.isInRange的cidr判断问题(pr#1917@Github) -* 【core 】 修复RegexPool中对URL正则匹配问题(issue#I4GRKD@Gitee) -* 【core 】 修复UrlQuery对于application/x-www-form-urlencoded问题(issue#1931@Github) - -------------------------------------------------------------------------------------------------------------- - -# 5.7.15 (2021-10-21) - -### 🐣新特性 -* 【db 】 Db.quietSetAutoCommit增加判空(issue#I4D75B@Gitee) -* 【core 】 增加RingIndexUtil(pr#438@Gitee) -* 【core 】 Assert增加checkBetween重载(pr#436@Gitee) -* 【core 】 ReUtil增加命名分组重载(pr#439@Gitee) -* 【json 】 toString和writer增加Filter(issue#I4DQNQ@Gitee) -* 【core 】 ContentType增加build重载(pr#1898@Github) -* 【bom 】 支持scope=import方式引入(issue#1561@Github) -* 【core 】 新增Hash接口,HashXXX继承此接口 -* 【core 】 ZipUtil增加append方法(pr#441@Gitee) -* 【core 】 CollUtil增加重载(issue#I4E9FS@Gitee) -* 【core 】 CopyOptions新增setFieldValueEditor(issue#I4E08T@Gitee) -* 【core 】 增加SystemPropsUtil(issue#1918@Gitee) -* 【core 】 增加`hutool.date.lenient`系统属性(issue#1918@Gitee) - -### 🐞Bug修复 -* 【core 】 修复CollUtil.isEqualList两个null返回错误问题(issue#1885@Github) -* 【poi 】 修复ExcelWriter多余调试信息导致的问题(issue#1884@Github) -* 【poi 】 修复TemporalAccessorUtil.toInstant使用DateTimeFormatter导致问题(issue#1891@Github) -* 【poi 】 修复sheet.getRow(y)为null导致的问题(issue#1893@Github) -* 【cache 】 修复LRUCache线程安全问题(issue#1895@Github) -* 【crypto 】 修复KeyUtil异常信息参数丢失问题(issue#1902@Github) -* 【core 】 修复StrUtil.split和splittoArray不一致问题(issue#I4ELU5@Github) -* 【core 】 修复SymmetricCrypto未关闭CipherOutputStream导致的问题(issue#I4EMST@Gitee) -* 【core 】 修复QueryBuilder对/转义问题(issue#1904@Github) - -------------------------------------------------------------------------------------------------------------- - -# 5.7.14 (2021-10-09) - -### 🐣新特性 -* 【extra 】 修复HttpCookie设置cookies的方法,不符合RFC6265规范问题(issue#I4B70D@Gitee) -* 【http 】 优化Browser版本正则判断 -* 【setting】 增加YamlUtil -* 【extra 】 SenvenZExtractor改名为SevenZExtractor,增加getFirst、get方法 -* 【core 】 DateConverter修改返回java.util.Date而非DateTime(issue#I4BOAP@Gitee) -* 【core 】 增加IterableIter、ComputeIter -* 【core 】 CsvConfig增加disableComment方法(issue#1842@Github) -* 【core 】 DateTime构造和DateUtil.parse可选是否宽松模式(issue#1849@Github) -* 【core 】 TreeBuilder增加部分根节点set方法(issue#1848@Github) -* 【core 】 优化Base64.isBase64方法:减少一次多余的判断(pr#1860@Github) -* 【cache 】 优化FIFOCache未设置过期策略时,无需遍历判断过期对象(pr#425@Gitee) -* 【core 】 增加Opt类(pr#426@Gitee) -* 【core 】 Week增加of重载,支持DayOfWek(pr#1872@Github) -* 【poi 】 优化read,避免多次创建CopyOptions(issue#1875@Github) -* 【core 】 优化CsvReader,实现可控遍历(pr#1873@Github) -* 【core 】 优化Base64.isBase64判断(pr#1879@Github) -* 【core 】 新增StrFormatter.formatWith(pr#430@Gitee) - -### 🐞Bug修复 -* 【http 】 修复HttpCookie设置cookies的方法,不符合RFC6265规范问题(pr#418@Gitee) -* 【http 】 修复Extractor中filter无效问题 -* 【json 】 修复JSONGetter.getJSONArray判断null的问题(issue#I4C15H@Gitee) -* 【db 】 修复Condition没占位符的情况下sql没引号问题(issue#1846@Github) -* 【cache 】 修复FIFOCache中remove回调无效问题(pr#1856@Github) -* 【json 】 修复JSONArray.set中,index为0报错问题(issue#1858@Github) -* 【core 】 修复FileUtil.checkSlip中getCanonicalPath异常引起的问题(issue#1858@Github) - -------------------------------------------------------------------------------------------------------------- - -# 5.7.13 (2021-09-17) - -### 🐣新特性 -* 【core 】 CsvReadConfig增加trimField选项(issue#I49M0C@Gitee) -* 【http 】 HttpBase增加clearHeaders方法(issue#I49P23@Gitee) -* 【core 】 CsvWriter的write和writeBeans参数改为Iterable(issue#I49O4S@Gitee) -* 【core 】 BitStatusUtil添加来源声明(issue#1824@Github) -* 【core 】 UrlQuery.build增加重载,支持可选是否转义(issue#I4AIX1@Gitee) -* 【core 】 ListUtil增加swapTo和swapElement方法(pr#416@Gitee) -* 【poi 】 ExcelWriter支持Hyperlink(issue#I49QAL@Gitee) -* -### 🐞Bug修复 -* 【core 】 修复FuncKey函数无效问题 -* 【core 】 修复ImgUtil.copyImage读取网络URL后宽高报错问题(issue#1821@Github) -* 【core 】 修复StrJoiner.append配置丢失问题(issue#I49K1L@Gitee) -* 【core 】 修复EscapeUtil特殊字符的hex长度不足导致的问题(issue#I49JU8@Gitee) -* 【core 】 修复UrlBuilder对Fragment部分编码问题(issue#I49KAL@Gitee) -* 【core 】 修复Enum转换的bug(issue#I49VZB@Gitee) -* 【json 】 修复JSONUtil.parse对于MapWrapper识别问题 -* 【core 】 修复IdcardUtil.isValidCard判断问题(issue#I4AJ8S@Gitee) - -------------------------------------------------------------------------------------------------------------- - -# 5.7.12 (2021-09-09) - -### 🐣新特性 -* 【system 】 OshiUtil增加getCurrentProcess方法 -* 【extra 】 SpringUtil增加getApplicationName、publishEvent方法(issue#I485NZ@Gitee) -* 【core 】 BeanUtil.getProperty增加判空(issue#I488HA@Gitee) -* 【core 】 OptionalBean弃用(pr#1182@Github) -* 【setting】 Setting、Props持有URL改为持有Resource(pr#1182@Github) -* 【json 】 JSONUtil.toJsonStr增加重载,支持JSONConfig(issue#I48H5L@Gitee) -* 【crypto 】 SymmetricCrypto增加setMode方法,update采用累加模式(pr#1642@Github) -* 【core 】 ZipReader支持Filter -* 【all 】 Sftp、Ftp、HttpDownloader增加download重载,支持避免传输文件损坏(pr#407@Gitee) -* 【crypto 】 AES修改构造的IvParameterSpec为AlgorithmParameterSpec(issue#1814@Gitee) -* 【crypto 】 增加FPE、ZUC(issue#1814@Gitee) - -### 🐞Bug修复 -* 【core 】 修复ListUtil.split方法越界问题(issue#I48Q0P@Gitee) -* 【core 】 修复QrCode的isTryHarder、isPureBarcode设置无效问题(issue#1815@Github) -* 【core 】 修复DatePattern.CHINESE_DATE_FORMATTER错误问题(issue#I48ZE3@Gitee) -* 【core 】 修复ListUtil.split错误问题 -* 【core 】 修复NumberUtil.parseNumber长数字越界问题(issue#1818@Github) - -------------------------------------------------------------------------------------------------------------- - -# 5.7.11 (2021-08-31) - -### 🐣新特性 -* 【crypto 】 修改SymmetricCrypto初始化逻辑 -* 【core 】 FileTypeUtil增加对wps编辑的docx的识别(issue#I47JGH@Gitee) -* 【core 】 Money修改构造,0表示读取所有分(issue#1796@Github) -* 【json 】 增加JSONXMLParser和JSONXMLSerializer -* 【json 】 XML支持自定义内容标签(issue#I47TV8@Gitee) -### 🐞Bug修复 -* 【cron 】 **重要**修复Scheduler启动默认线程池为null的bug(issue#I47PZW@Gitee) - -------------------------------------------------------------------------------------------------------------- - -# 5.7.10 (2021-08-26) - -### 🐣新特性 -* 【core 】 增加NamingCase类 -* 【core 】 ListUtil增加page方法重载(pr#1761@Github) -* 【crypto 】 增加ASN1Util -* 【core 】 CsvConfig改为泛型形式 -* 【core 】 增加Partition -* 【http 】 SoapClient.sendForResponse改为public(issue#I466NN@Gitee) -* 【core 】 XmlUtil增加append重载(issue#I466Q0@Gitee) -* 【poi 】 增加EscapeStrCellSetter(issue#I466ZZ@Gitee) -* 【poi 】 ExcelBase增加renameSheet、cloneSheet(issue#I466ZZ@Gitee) -* 【core 】 ListUtil增加splitAvg方法(pr#397@Gitee) -* 【poi 】 Excel07SaxReader支持数字类型sheet名称、支持sheetName:名称前缀(issue#I46OMA@Gitee) -* 【extra 】 Mail增加build方法(issue#I46LGE@Gitee) -* 【core 】 XmlUtil增加beanToXml重载,支持忽略null -* 【core 】 添加NullComparator、FuncComparator(issue#I471X7@Gitee) -* 【core 】 LambdaUtil添加getFieldName(issue#I4750U@Gitee) -* 【cron 】 Scheduler增加setThreadExecutor(issue#I47A6N@Gitee) -* 【core 】 CharsetDetector增加detect重载,支持自定义缓存大小(issue#I478E5@Gitee) -* 【core 】 增加PartitionIter(pr#402@Gitee) -* 【all 】 增加异常爬栈开关(pr#403@Gitee) -* 【core 】 优化Combination中C(n,n)的逻辑(pr#1792@Github) -* 【core 】 Csv读写支持别名(issue#1791@Github) - -### 🐞Bug修复 -* 【core 】 修复MapUtil.sort比较器不一致返回原map的问题(issue#I46AQJ@Gitee) -* 【core 】 修复JSONSupport默认循环引用导致的问题(issue#1779@Github) -* 【poi 】 修复ExcelUtil.readBySax资源没有释放问题(issue#1789@Github) - -------------------------------------------------------------------------------------------------------------- - -# 5.7.9 (2021-08-16) - -### 🐣新特性 -* 【extra 】 FileUtil增加moveContent方法(issue#I45H30@Gitee) -* 【extra 】 JschPool.getSession获取时检查是否连接状态(issue#I45N5I@Gitee) -* -### 🐞Bug修复 -* 【extra 】 修复TinyPinyinEngine空构造造成可能的误判问题 -* 【http 】 修复在gzip模式下Content-Length服务端设置异常导致的问题(issue#1766@Github) -* 【db 】 修复PooledDataSource关闭逻辑错误问题 - -------------------------------------------------------------------------------------------------------------- - -# 5.7.8 (2021-08-11) - -### 🐣新特性 -* 【core 】 MapProxy支持return this的setter方法(pr#392@Gitee) -* 【core 】 BeeDSFactory移除sqlite事务修复代码,新版本BeeCP已修复 -* 【core 】 增加compress包,扩充Zip操作灵活性 -* 【json 】 增加JSONBeanParser -* 【poi 】 增加CellSetter,可以自定义单元格值写出 -* 【poi 】 CsvReader增加readFromStr(pr#1755@Github) -* 【socket 】 SocketUtil增加connection方法 -* 【extra 】 JschUtil增加bindPort重载方法(issue#I44UTH@Github) -* 【core 】 DefaultTrustManager改为继承X509ExtendedTrustManager -* 【core 】 增加IoCopier - -### 🐞Bug修复 -* 【core 】 改进NumberChineseFormatter算法,补充完整单元测试,解决零问题 -* 【core 】 修复Img变换操作图片格式问题(issue#I44JRB@Gitee) - -------------------------------------------------------------------------------------------------------------- - -# 5.7.7 (2021-08-02) - -### 🐣新特性 -* 【core 】 增加LookupFactory和MethodHandleUtil(issue#I42TVY@Gitee) -* 【core 】 改进RegexPool.TEL支持无-号码(pr#387@Gitee) -* 【core 】 PhoneUtil中新增获取固话号码中区号,以及固话号码中号码的方法(pr#387@Gitee) -* 【json 】 JSONGetter增加getLocalDateTime方法(pr#387@Gitee) -* 【core 】 增加JNDIUtil(issue#1727@Github) -* 【core 】 NetUtil增加getDnsInfo方法(issue#1727@Github) -* 【core 】 SpringUtil增加unregisterBean方法(pr#388@Gitee) -* 【core 】 优化TextSimilarity公共子串算法(issue#I42A6V@Gitee) -* 【core 】 优化DateUtil.parse对UTC附带时区字符串解析(issue#I437AP@Gitee) - -### 🐞Bug修复 -* 【jwt 】 修复JWTUtil中几个方法非static的问题(issue#1735@Github) -* 【core 】 修复SpringUtil无法处理autowired问题(pr#388@Gitee) -* 【core 】 修复AbsCollValueMap中常量拼写错误(pr#1736@Github) -* 【core 】 修复FileUtil.del在文件只读情况下无法删除的问题(pr#389@Gitee) -* 【core 】 修复FileUtil.move在不同分区下失败的问题(pr#390@Gitee) -* 【core 】 修复FileUtil.copy强制覆盖参数无效问题 -* 【core 】 修复NumberChineseFormatter转换金额多零问题(issue#1739@Github) - -------------------------------------------------------------------------------------------------------------- - -# 5.7.6 (2021-07-28) - -### 🐣新特性 -* 【core 】 增加FieldsComparator(pr#374@Gitee) -* 【core 】 FileUtil.del采用Files.delete实现 -* 【core 】 改进Base64.isBase64方法增加等号判断(issue#1710@Github) -* 【core 】 Sftp增加syncUpload方法(pr#375@Gitee) -* 【core 】 改进NetUtil.getLocalHost逻辑(issue#1717@Github) -* 【core 】 UseragentUtil增加QQ、alipay、taobao、uc等浏览器识别支持(issue#1719@Github) -* 【http 】 HttpRequest.form方法判断集合增强(pr#381@Gitee) -* 【core 】 NumberUtil增加calculate方法 -* 【core 】 优化TextSimilarity.longestCommonSubstring性能(issue#I42A6V@Gitee) -* 【core 】 MultipartRequestInputStream改为使用long以支持大文件(issue#I428AN@Gitee) -* 【core 】 RobotUtil增加getDelay、getRobot方法(pr#1725@Github) -* 【json 】 JSON输出支持ignoreNull(issue#1728@Github) -* 【core 】 DateUtil和LocalDateTimeUtil增加isWeekend方法(issue#I42N5A@Gitee) - -### 🐞Bug修复 -* 【core 】 修复RobotUtil双击右键问题(pr#1721@Github) -* 【core 】 修复FileTypeUtil判断wps修改过的xlsx误判为jar的问题(pr#380@Gitee) -* 【core 】 修复Sftp.isDir异常bug(pr#378@Gitee) -* 【core 】 修复BeanUtil.copyProperties集合元素复制成功,读取失败的问题(issue#I41WKP@Gitee) -* 【core 】 修复NumberChineseFormatter.chineseToNumber十位数错误(issue#1726@github) -* 【poi 】 修复BeanSheetReader.read中字段对象为空导致的报错(issue#1729@Github) -* 【core 】 修复DateConverter转换java.sql.Date问题(issue#1729@Github) -* 【extra 】 修复CompressUtil中部分方法非static的问题(pr#385@Gitee) -* 【core 】 修复ByteUtil转换端序错误问题(pr#384@Gitee) -* 【core 】 修复UserAgentUtil判断浏览器顺序问题(issue#I42LYW@Gitee) - -------------------------------------------------------------------------------------------------------------- - -# 5.7.5 (2021-07-19) - -### 🐣新特性 -* 【core 】 DateUtil增加ceiling重载,可选是否归零毫秒 -* 【core 】 IterUtil增加firstMatch方法 -* 【core 】 增加NanoId -* 【core 】 MapBuilder增加put方法(pr#367@Gitee) -* 【core 】 StrUtil.insert支持负数index -* 【core 】 Calculator类支持取模运算(issue#I40DUW@Gitee) -* 【core 】 增加Base64.isBase64方法(issue#1710@Github) -* 【core 】 ManifestUtil新增方法getManifest(Class cls)(pr#370@Gitee) -* 【extra 】 AbstractFtp增加isDir方法(issue#1716@Github) -* 【core 】 修改FileUtil异常信息内容(pr#1713@Github) - -### 🐞Bug修复 -* 【core 】 修复FileUtil.normalize处理上级路径的问题(issue#I3YPEH@Gitee) -* 【core 】 修复ClassScanner扫描空包遗漏问题 -* 【core 】 修复FastDatePrinter歧义问题(pr#366@Gitee) -* 【core 】 修复DateUtil.format格式化Instant报错问题(issue#I40CY2@Gitee) -* 【core 】 修复StrUtil.toUnderlineCase大写问题(issue#I40CGS@Gitee) -* 【jwt 】 修复JWT.validate报错问题(issue#I40MR2@Gitee) -* 【core 】 修复StrUtil.brief越界问题 - -------------------------------------------------------------------------------------------------------------- - -# 5.7.4 (2021-07-10) - -### 🐣新特性 -* 【crypto 】 SmUtil.sm4统一返回类型(issue#I3YKD4@Gitee) -* 【core 】 修改MapUtil.get传入null返回默认值而非null(issue#I3YKBC@Gitee) -* 【core 】 HexUtil增加hexToLong、hexToInt(issue#I3YQEV@Gitee) -* 【core 】 CsvWriter增加writer.write(csvData)的方法重载(pr#353@Gitee) -* 【core 】 新增AbsCollValueMap(issue#I3YXF0@Gitee) -* 【crypto 】 HOTP缓存改为8位,新增方法(pr#356@Gitee) -* 【setting】 Props增加toProperties方法(issue#1701@Github) -* 【http 】 UserAgent增加getOsVersion方法(issue#I3YZUQ@Gitee) -* 【jwt 】 JWT增加validate方法(issue#I3YDM4@Gitee) -* 【core 】 CscReader支持指定读取开始行号和结束行号(issue#I3ZMZL@Gitee) - -### 🐞Bug修复 -* 【core 】 修复RadixUtil.decode非static问题(issue#I3YPEH@Gitee) -* 【core 】 修复EqualsBuilder数组判断问题(pr#1694@Github) -* 【setting】 修复Props中Charset对象无法序列化的问题(pr#1694@Github) -* 【db 】 修复PageResult首页判断逻辑问题(issue#1699@Github) -* 【core 】 修复IdcardUtil可能数组越界问题(pr#1702@Github) -* 【core 】 修复FastByteArrayOutputStream索引越界问题(issue#I402ZP@Github) - -------------------------------------------------------------------------------------------------------------- - -# 5.7.3 (2021-06-29) - -### 🐣新特性 -* 【core 】 增加Convert.toSet方法(issue#I3XFG2@Gitee) -* 【core 】 CsvWriter增加writeBeans方法(pr#345@Gitee) -* 【core 】 新增JAXBUtil(pr#346@Gitee) -* 【poi 】 ExcelWriter新增setColumnStyleIfHasData和setRowStyleIfHasData(pr#347@Gitee) -* 【json 】 用户自定义日期时间格式时,解析也读取此格式 -* 【core 】 增加可自定义日期格式GlobalCustomFormat -* 【jwt 】 JWT修改默认有序,并规定payload日期格式为秒数 -* 【json 】 增加JSONWriter -* 【core 】 IdUtil增加getWorkerId和getDataCenterId(issueI3Y5NI@Gitee) -* 【core 】 JWTValidator增加leeway重载 -* 【core 】 增加RegexPool(issue#I3W9ZF@Gitee) - -### 🐞Bug修复 -* 【json 】 修复XML转义字符的问题(issue#I3XH09@Gitee) -* 【core 】 修复FormatCache中循环引用异常(pr#1673@Github) -* 【core 】 修复IdcardUtil.getIdcardInfo.getProvinceCode获取为汉字的问题(issue#I3XP4Q@Gitee) -* 【core 】 修复CollUtil.subtract使用非标准Set等空指针问题(issue#I3XN1Z@Gitee) -* 【core 】 修复SqlFormatter部分SQL空指针问题(issue#I3XS44@Gitee) -* 【core 】 修复DateRange计算问题(issue#I3Y1US@Gitee) -* 【core 】 修复BeanCopier中setFieldNameEditor失效问题(pr#349@Gitee) -* 【core 】 修复ArrayUtil.indexOfSub查找bug(issue#1683@Github) -* 【core 】 修复Node的权重比较空指针问题(issue#1681@Github) -* 【core 】 修复UrlQuery传入无参数路径解析问题(issue#1688@Github) - -------------------------------------------------------------------------------------------------------------- - -# 5.7.2 (2021-06-20) - -### 🐣新特性 -* 【core 】 增加UserPassAuthenticator -* 【db 】 获取分组数据源时,移除公共属性项 -* 【core 】 增加StrJoiner -* 【core 】 增加TreeBuilder -* 【core 】 IterUtil增加getFirstNonNull方法 -* 【core 】 NumberUtil判空改为isBlank(issue#1664@Github) -* 【jwt 】 增加JWTValidator、RegisteredPayload -* 【db 】 增加Phoenix方言(issue#1656@Github) - -### 🐞Bug修复 -* 【db 】 修复Oracle下别名错误造成的SQL语法啊错误(issue#I3VTQW@Gitee) -* 【core 】 修复ConcurrencyTester重复使用时开始测试未清空之前任务的问题(issue#I3VSDO@Gitee) -* 【poi 】 修复使用BigWriter写出,ExcelWriter修改单元格值失败的问题(issue#I3VSDO@Gitee) -* 【jwt 】 修复Hmac算法下生成签名是hex的问题(issue#I3W6IP@Gitee) -* 【core 】 修复TreeUtil.build中deep失效问题(issue#1661@Github) -* 【json 】 修复XmlUtil.xmlToBean判断问题(issue#1663@Github) - -------------------------------------------------------------------------------------------------------------- - -# 5.7.1 (2021-06-16) - -### 🐣新特性 -* 【db 】 NamedSql支持in操作(issue#1652@Github) -* 【all 】 JWT模块加入到all和bom包中(issue#1654@Github) -* 【core 】 CollUtil删除所有Map相关操作 -* 【all 】 **重要!** 删除过期方法 -* 【core 】 增加IterChian类 - -### 🐞Bug修复 - -------------------------------------------------------------------------------------------------------------- - -# 5.7.0 (2021-06-15) - -### 🐣新特性 -* 【jwt 】 添加JWT模块,实现了JWT的创建、解析和验证 -* 【crypto 】 SymmetricCrypto增加update方法(pr#1642@Github) -* 【crypto 】 MacEngine增加接口update,doFinal,reset等接口 -* 【core 】 StrSpliter更名为StrSplitter -* 【core 】 NumberUtil的decimalFormat增加数字检查 -* 【http 】 HttpBase的httpVersion方法设置为无效(issue#1644@Github) -* 【extra 】 Sftp增加download重载(issue#I3VBSL@Gitee) -* 【cache 】 修改FIFOCache初始大小(issue#1647@Github) - -### 🐞Bug修复 -* 【db 】 修复count方法丢失参数问题(issue#I3VBSL@Gitee) -* 【db 】 修复SpringUtil工具在`@PostConstruct` 注解标注的方法下失效问题(pr#341@Gitee) -* 【json 】 修复JSONUtil.parse方法未判断有序问题(issue#I3VHVY@Gitee) -* 【json 】 修复JSONArray.put越界无法加入问题(issue#I3VMLU@Gitee) - -------------------------------------------------------------------------------------------------------------- - -# 5.6.7 (2021-06-08) - -### 🐣新特性 -* 【core 】 CharSequenceUtil增加join重载(issue#I3TFJ5@Gitee) -* 【http 】 HttpRequest增加form方法重载(pr#337@Gitee) -* 【http 】 ImgUtil增加getMainColor方法(pr#338@Gitee) -* 【core 】 改进TreeUtil.buid算法性能(pr#1594@Github) -* 【core 】 CsvConfig的setXXX返回this(issue#I3UIQF@Gitee) -* 【all 】 增加jmh基准测试 -* 【core 】 增加StreamUtil和CollectorUtil -* 【poi 】 增加content-type(pr#1639@Github) - -### 🐞Bug修复 -* 【core 】 修复FileUtil.normalize去掉末尾空格问题(issue#1603@Github) -* 【core 】 修复CharsetDetector流关闭问题(issue#1603@Github) -* 【core 】 修复RuntimeUtil.exec引号内空格被切分的问题(issue#I3UAYB@Gitee) - -------------------------------------------------------------------------------------------------------------- - -# 5.6.6 (2021-05-26) - -### 🐣新特性 -* 【cron 】 增加时间轮简单实现 -* 【core 】 BeanUtil.copyToList增加重载(pr#321@Gitee) -* 【core 】 SyncFinisher增加stop方法(issue#1578@Github) -* 【cache 】 CacheObj默认方法改为protected(issue#I3RIEI@Gitee) -* 【core 】 FileUtil.isEmpty不存在时返回true(issue#1582@Github) -* 【core 】 PhoneUtil增加中国澳门和中国台湾手机号校检方法(pr#331@Gitee) -* 【db 】 分页查询,自定义sql查询,添加参数(pr#332@Gitee) -* 【core 】 IdCardUtil.isValidCard增加非空判断 -* 【json 】 JSONObject构造增加SortedMap判断(pr#333@Gitee) -* 【core 】 Tuple增加部分方法(pr#333@Gitee) -* 【log 】 增加LogTube支持 -* 【core 】 增加BitStatusUtil(pr#1600@Github) - -### 🐞Bug修复 -* 【core 】 修复XmlUtil中omitXmlDeclaration参数无效问题(issue#1581@Github) -* 【core 】 修复NumberUtil.decimalFormat参数传错的问题(issue#I3SDS3@Gitee) -* 【json 】 修复JSONArray.put方法不能覆盖值的问题 -* 【poi 】 修复sax方式读取xls无法根据sheet名称获取数据(issue#I3S4NH@Gitee) -* 【core 】 修复路径中多个~都被替换的问题(pr#1599@Github) -* 【core 】 修复CRC16构造非public问题(issue#1601@Github) - -------------------------------------------------------------------------------------------------------------- -# 5.6.5 (2021-05-08) - -### 🐣新特性 -* 【http 】 HttpUtil增加closeCookie方法 -* 【core 】 NumberUtil增加方法decimalFormat重载(issue#I3OSA2@Gitee) -* 【extra 】 Ftp的remoteVerificationEnabled改为false(issue#I3OSA2@Gitee) -* 【core 】 MaskBit增加掩码反向转换的方法getMaskBit()(pr#1563@Github) -* 【core 】 ReUtil等增加indexOf、delLast等方法(pr#1555@Github) -* 【poi 】 ExcelWriter增加writeSecHeadRow,增加合并单元格边框颜色样式(pr#318@Gitee) - -### 🐞Bug修复 -* 【core 】 修复createScheduledExecutor单位不是毫秒的问题(issue#I3OYIW@Gitee) -* 【core 】 修复Tailer无stop问题(issue#I3PQLQ@Gitee) -* 【core 】 修复空白excel读取报错问题(issue#1552@Github) -* 【extra 】 修复Sftp.mkDirs报错问题(issue#1536@Github) -* 【core 】 修复Bcrypt不支持$2y$盐前缀问题(pr#1560@Github) -* 【system 】 修复isWindows8拼写问题(pr#1557@Github) -* 【db 】 修复MongoDS默认分组参数失效问题(issue#1548@Github) -* 【core 】 修复UrlPath编码的字符问题导致的URL编码异常(issue#1537@Github) - -------------------------------------------------------------------------------------------------------------- - -# 5.6.4 (2021-04-25) - -### 🐣新特性 -* 【core 】 DatePattern补充DateTimeFormatter(pr#308@Gitee) -* 【core 】 DateUtil.compare增加支持给定格式比较(pr#310@Gitee) -* 【core 】 BeanUtil增加edit方法(issue#I3J6BG@Gitee) -* 【db 】 Column中加入columnDef字段默认值(issue#I3J6BG@Gitee) -* 【core 】 BeanUtil增加copyToList方法(issue#1526@Github) -* 【extra 】 MailAccount增加customProperty可以用户自定义属性(pr#317@Gitee) -* 【system 】 SystemUtil.getUserInfo()中所有平台路径统一末尾加/(issue#I3NM39@Gitee) -* 【http 】 新增HttpDownloader,默认开启自动跳转(issue#I3NM39@Gitee) - -### 🐞Bug修复 -* 【db 】 修复SQL分页时未使用别名导致的错误,同时count时取消order by子句(issue#I3IJ8X@Gitee) -* 【extra 】 修复Sftp.reconnectIfTimeout方法判断错误(issue#1524@Github) -* 【core 】 修复NumberChineseFormatter转数字问题(issue#I3IS3S@Gitee) - -------------------------------------------------------------------------------------------------------------- - -# 5.6.3 (2021-04-10) - -### 🐣新特性 -* 【core 】 修改数字转换的实现,增加按照指定端序转换(pr#1492@Github) -* 【core 】 修改拆分byte数组时最后一组长度的规则(pr#1494@Github) -* 【core 】 新增根据日期获取节气(pr#1496@Github) -* 【core 】 mapToBean()添加对布尔值is前缀的识别(pr#294@Gitee) -* 【core 】 农历十月十一月改为寒月和冬月(pr#301@Gitee) -* 【core 】 增加港澳台电话正则(pr#301@Gitee) -* 【core 】 增加银行卡号脱敏(pr#301@Gitee) -* 【cache 】 使用LongAddr代替AtomicLong(pr#301@Gitee) -* 【cache 】 EnumUtil使用LinkedHashMap(pr#304@Gitee) -* 【crypto 】 SymmetricCrypto支持大量数据加密解密(pr#1497@Gitee) -* 【http 】 SoapClient增加针对不同协议的头信息(pr#305@Gitee) -* 【http 】 HttpRequest支持307、308状态码识别(issue#1504@Github) -* 【core 】 CharUtil.isBlankChar增加\u0000判断(pr#1505@Github) -* 【extra 】 添加Houbb Pinyin支持(pr#1506@Github) -* 【core 】 添加LambdaUtil(pr#295@Gitee) -* 【core 】 添加StrPool和CharPool -* 【extra 】 CglibUtil增加toBean和fillBean方法 -* 【db 】 增加DriverNamePool - -### 🐞Bug修复 -* 【core 】 修复Validator.isUrl()传空返回true(issue#I3ETTY@Gitee) -* 【db 】 修复数据库driver根据url的判断识别错误问题(issue#I3EWBI@Gitee) -* 【json 】 修复JSONStrFormatter换行多余空行问题(issue#I3FA8B@Gitee) -* 【core 】 修复UrlPath中的+被转义为空格%20的问题(issue#1501@Github) -* 【core 】 修复DateUtil.parse方法对UTC时间毫秒少于3位不识别问题(issue#1503@Github) - -------------------------------------------------------------------------------------------------------------- - -# 5.6.2 (2021-03-28) - -### 🐣新特性 -* 【core 】 Validator增加车架号(车辆识别码)验证、驾驶证(驾驶证档案编号)的正则校验(pr#280@Gitee) -* 【core 】 CopyOptions增加propertiesFilter(pr#281@Gitee) -* 【extra 】 增加Wit模板引擎支持 -* 【core 】 增加DesensitizedUtil(pr#282@Gitee) -* 【core 】 增加DateTime字符串构造(issue#I3CQZG@Gitee) -* 【core 】 修改ArrayUtil代码风格(pr#287@Gitee) -* 【json 】 JSONConfig增加setStripTrailingZeros配置(issue#I3DJI8@Gitee) -* 【db 】 升级兼容BeeCP3.x - -### 🐞Bug修复 -* 【core 】 修复FileTypeUtil中OFD格式判断问题(pr#1489@Github) -* 【core 】 修复CamelCaseLinkedMap和CaseInsensitiveLinkedMap的Linked失效问题(pr#1490@Github) -* 【core 】 修复UrlPath中=被转义的问题 - -------------------------------------------------------------------------------------------------------------- - -# 5.6.1 (2021-03-18) - -### 🐣新特性 -* 【crypto 】 SecureUtil去除final修饰符(issue#1474@Github) -* 【core 】 IoUtil增加lineIter方法 -* 【core 】 新增函数式懒加载加载器(pr#275@Gitee) -* 【http 】 UserAgentUtil增加miniProgram判断(issue#1475@Github) -* 【db 】 增加Ignite数据库驱动识别 -* 【core 】 DateUtil.parse支持带毫秒的UTC时间 -* 【core 】 IdcardUtil.Idcard增加toString(pr#1487@Github) -* 【core 】 ChineseDate增加getGregorianXXX方法(issue#1481@Github) - -### 🐞Bug修复 -* 【core 】 修复IoUtil.readBytes的FileInputStream中isClose参数失效问题(issue#I3B7UD@Gitee) -* 【core 】 修复DataUnit中KB不大写的问题 -* 【json 】 修复JSONUtil.getByPath类型错误问题(issue#I3BSDF@Gitee) -* 【core 】 修复BeanUtil.toBean提供null未返回null的问题(issue#I3BQPV@Gitee) -* 【core 】 修复ModifierUtil#modifiersToInt中逻辑判断问题(issue#1486@Github) - -------------------------------------------------------------------------------------------------------------- - -# 5.6.0 (2021-03-12) - -### 🐣新特性 -* 【poi 】 重要:不再兼容POI-3.x,增加兼容POI-5.x(issue#I35J6B@Gitee) -* 【core 】 FileTypeUtil使用长匹配优先(pr#1457@Github) -* 【core 】 IterUtil和CollUtil增加isEqualList方法(issue#I3A3PY@Gitee) -* 【crypto 】 增加PBKDF2(issue#1416@Github) -* 【core 】 增加FuncKeyMap(issue#1402@Github) -* 【core 】 增加StrMatcher(issue#1379@Github) -* 【core 】 NumberUtil增加factorial针对BigInterger方法(issue#1379@Github) -* 【core 】 TreeNode增加equals方法(issue#1467@Github) -* 【core 】 增加汉字转阿拉伯数字Convert.chineseToNumber(pr#1469@Github) -* 【json 】 JSONUtil增加getByPath方法支持默认值(issue#1470@Github) -* 【crypto 】 SecureUtil增加hmacSha256方法(pr#1473@Github) -* 【core 】 FileTypeUtil判断流增加文件名辅助判断(pr#1471@Github) - -### 🐞Bug修复 -* 【socket 】 修复Client创建失败资源未释放问题。 -* 【core 】 修复DataSizeUtil中EB单位错误问题(issue#I39O7I@Gitee) -* 【core 】 修复BeanDesc.isMatchSetter的ignoreCase未使用问题(issue#I3AXIJ@Gitee) -* 【core 】 修复CRC16Checksum中(issue#I3AXIJ@Gitee) -* 【core 】 修复UrlQuery中对空key解析丢失问题(issue#I3B3J6@Gitee) - -------------------------------------------------------------------------------------------------------------- - -# 5.5.9 (2021-02-26) - -### 🐣新特性 -* 【crypto 】 PemUtil.readPemKey支持EC(pr#1366@Github) -* 【extra 】 Ftp等cd方法增加同步(issue#1397@Github) -* 【core 】 StrUtil增加endWithAnyIgnoreCase(issue#I37I0B@Gitee) -* 【crypto 】 Sm2增加getD和getQ方法(issue#I37Z4C@Gitee) -* 【cache 】 AbstractCache增加keySet方法(issue#I37Z4C@Gitee) -* 【core 】 NumberWordFormatter增加formatSimple方法(pr#1436@Github) -* 【crypto 】 增加读取openSSL生成的sm2私钥 -* 【crypto 】 增加众多方法,SM2兼容各类密钥格式(issue#I37Z75@Gitee) - -### 🐞Bug修复 -* 【json 】 JSONUtil.isJson方法改变trim策略,解决特殊空白符导致判断失败问题 -* 【json 】 修复SQLEXception导致的栈溢出(issue#1399@Github) -* 【extra 】 修复Ftp中异常参数没有传入问题(issue#1397@Github) -* 【crypto 】 修复Sm2使用D构造空指针问题(issue#I37Z4C@Gitee) -* 【poi 】 修复ExcelPicUtil中图表报错问题(issue#I38857@Gitee) -* 【core 】 修复ListUtil.page方法返回空列表无法编辑问题(issue#1415@Github) -* 【core 】 修复ListUtil.sub中step不通结果不一致问题(issue#1409@Github) -* 【db 】 修复Condition转换参数值时未转换数字异常(issue#I38LTM@Gitee) - -------------------------------------------------------------------------------------------------------------- - -# 5.5.8 (2021-01-30) - -### 🐣新特性 -* 【extra 】 增加自动装配SpringUtil类(pr#1366@Github) -* 【extra 】 ArrayUtil增加map方法重载 -* 【crypto 】 AsymmetricAlgorithm增加RSA_ECB("RSA/ECB/NoPadding")(issue#1368@Github) -* 【core 】 补充StrUtil.padXXX注释(issue#I2E1S7@Gitee) -* 【core 】 修改上传文件检查逻辑 -* 【core 】 修正LocalDateTimeUtil.offset方法注释问题(issue#I2EEXC@Gitee) -* 【extra 】 VelocityEngine的getRowEngine改为getRawEngine(issue#I2EGRG@Gitee) -* 【cache 】 缓存降低锁的粒度,提高并发能力(pr#1385@Github) -* 【core 】 SimpleCache缓存降低锁的粒度,提高并发能力(pr#1385@Github) -* 【core 】 增加RadixUtil(pr#260@Gitee) -* 【core 】 BeanUtil.getFieldValue支持获取字段集合(pr#254@Gitee) -* 【core 】 DateConvert转换失败默认抛出异常(issue#I2M5GN@Gitee) -* 【http 】 HttpServerRequest增加getParam方法 -* 【http 】 RootAction增加可选name参数,返回指定文件名称 -* 【db 】 支持人大金仓8的驱动识别 -* 【db 】 ThreadUtil增加createScheduledExecutor和schedule方法(issue#I2NUTC@Gitee) -* 【core 】 ImgUtil增加getImage方法(issue#I2DU1Z@Gitee) -* 【core 】 DateUtil.beginOfHour(pr#269@Gitee) -* 【core 】 MapUtil增加sortByValue(pr#259@Gitee) -* 【core 】 TypeUtil修正hasTypeVeriable为hasTypeVariable -* 【core 】 RandomUtil.getRandom改为new SecureRandom,避免阻塞 - -### 🐞Bug修复 -* 【core 】 修复FileUtil.move以及PathUtil.copy等无法自动创建父目录的问题(issue#I2CKTI@Gitee) -* 【core 】 修复Console.input读取不全问题(pr#263@Gitee) -* 【core 】 修复URLUtil.encodeAll未检查空指针问题(issue#I2CNPS@Gitee) -* 【core 】 修复UrlBuilder.of的query中含有?丢失问题(issue#I2CNPS@Gitee) -* 【crypto 】 修复BCrypt.checkpw报错问题(issue#1377@Github) -* 【extra 】 修复Fftp中cd失败导致的问题(issue#1371@Github) -* 【poi 】 修复ExcelWriter.merge注释问题(issue#I2DNPG@Gitee) -* 【core 】 修复CsvReader读取注释行错误问题(issue#I2D87I@Gitee) - -------------------------------------------------------------------------------------------------------------- - -# 5.5.7 (2021-01-07) - -### 🐣新特性 -* 【core 】 DynaBean.create增加重载方法(pr#245@Gitee) -* 【core 】 IdcardUtil增加重载是否忽略大小写(issue#1348@Github) -* 【poi 】 SheetRidReader增加getRidByIndex方法(issue#1342@Github) -* 【extra 】 MailAccount增加sslProtocols配置项(issue#IZN95@Gitee) -* 【extra 】 MailUtil增加getSession方法 -* 【setting】 新增setByGroup和putByGroup,set和put标记为过期(issue#I2C42H@Gitee) -* 【crypto 】 修改SymmetricAlgorithm注释(issue#1360@Github) -* 【all 】 pom中将META-INF/maven下全部exclude(pr#1355@Github) -* 【http 】 SimpleServer中增加addFilter等方法,并使用全局线程池 -* 【core 】 CollUtil.forEach 增加null 判断(pr#250@Gitee) -* 【extra 】 FtpConfig增加serverLanguageCode和systemKey配置,Ftp.download增加重载(pr#248@Gitee) - -### 🐞Bug修复 -* 【core 】 修复CsvReader读取双引号未转义问题(issue#I2BMP1@Gitee) -* 【json 】 JSONUtil.parse修复config无效问题(issue#1363@Github) -* 【http 】 修复SimpleServer返回响应内容Content-Length不正确的问题(issue#1358@Github) -* 【http 】 修复Https请求部分环境下报证书验证异常问题(issue#I2C1BZ@Gitee) - -------------------------------------------------------------------------------------------------------------- - -# 5.5.6 (2020-12-29) - -### 🐣新特性 -* 【core 】 手机号工具类 座机正则表达式统一管理(pr#243@Gitee) -* 【extra 】 Mail增加setDebugOutput方法(issue#1335@Gitee) - -### 🐞Bug修复 -* 【core 】 修复ZipUtil.unzip从流解压关闭问题(issue#I2B0S1@Gitee) -* 【poi 】 修复Excel07Writer写出表格错乱问题(issue#I2B57B@Gitee) -* 【poi 】 修复SheetRidReader读取字段错误问题(issue#1342@Github) -* 【core 】 修复FileUtil.getMimeType不支持css和js(issue#1341@Github) - -------------------------------------------------------------------------------------------------------------- - -# 5.5.5 (2020-12-27) - -### 🐣新特性 -* 【core 】 URLUtil.normalize新增重载(pr#233@Gitee) -* 【core 】 PathUtil增加isSub和toAbsNormal方法 -* 【db 】 RedisDS实现序列化接口(pr#1323@Github) -* 【poi 】 StyleUtil增加getFormat方法(pr#235@Gitee) -* 【poi 】 增加ExcelDateUtil更多日期格式支持(issue#1316@Github) -* 【core 】 NumberUtil.toBigDecimal支持各类数字格式,如1,234.56等(issue#1334@Github) -* 【core 】 NumberUtil增加parseXXX方法(issue#1334@Github) -* 【poi 】 Excel07SaxReader支持通过sheetName读取(issue#I2AOSE@Gitee) - -### 🐞Bug修复 -* 【core 】 FileUtil.isSub相对路径判断问题(pr#1315@Github) -* 【core 】 TreeUtil增加空判定(issue#I2ACCW@Gitee) -* 【db 】 解决Hive获取表名失败问题(issue#I2AGLU@Gitee) -* 【core 】 修复DateUtil.parse未使用严格模式导致结果不正常的问题(issue#1332@Github) -* 【core 】 修复RuntimeUtil.getUsableMemory非static问题(issue#I2AQ2M@Gitee) -* 【core 】 修复ArrayUtil.equals方法严格判断问题(issue#I2AO8B@Gitee) -* 【poi 】 修复SheetRidReader在获取rid时读取错误问题(issue#I2AOQW@Gitee) -* 【core 】 修复强依赖了POI的问题(issue#1336@Github) - -------------------------------------------------------------------------------------------------------------- - -# 5.5.4 (2020-12-16) - -### 🐣新特性 -### 🐞Bug修复 -* 【core 】 修复IoUtil.readBytes的问题 - -------------------------------------------------------------------------------------------------------------- - -# 5.5.3 (2020-12-11) - -### 🐣新特性 -* 【core 】 IdcardUtil增加行政区划83(issue#1277@Github) -* 【core 】 multipart中int改为long,解决大文件上传越界问题(issue#I27WZ3@Gitee) -* 【core 】 ListUtil.page增加检查(pr#224@Gitee) -* 【db 】 Db增加使用sql的page方法(issue#247@Gitee) -* 【cache 】 CacheObj的isExpired()逻辑修改(issue#1295@Github) -* 【json 】 JSONStrFormater改为JSONStrFormatter -* 【dfa 】 增加FoundWord(pr#1290@Github) -* 【core 】 增加Segment(pr#1290@Github) -* 【core 】 增加CharSequenceUtil -* 【poi 】 Excel07SaxReader拆分出SheetDataSaxHandler -* 【core 】 CollUtil.addAll增加判空(pr#228@Gitee) -* 【core 】 修正DateUtil.betweenXXX注释错误(issue#I28XGW@Gitee) -* 【core 】 增加NioUtil -* 【core 】 增加GanymedUtil -* 【poi 】 增加OFD支持,OfdWriter -* 【poi 】 修复NumberUtil属性拼写错误(pr#1311@Github) -* 【core 】 MapUtil增加getQuietly方法(issue#I29IWO@Gitee) - -### 🐞Bug修复 -* 【cache 】 修复Cache中get重复misCount计数问题(issue#1281@Github) -* 【poi 】 修复sax读取自定义格式单元格无法识别日期类型的问题(issue#1283@Github) -* 【core 】 修复CollUtil.get越界问题(issue#1292@Github) -* 【core 】 修复TemporalAccessorUtil无法格式化LocalDate带时间问题(issue#1289@Github) -* 【json 】 修复自定义日期格式的LocalDateTime没有包装引号问题(issue#1289@Github) -* 【cache 】 get中unlock改为unlockRead(issue#1294@Github) -* 【db 】 修复表名包含点导致的问题(issue#1300@Github) -* 【poi 】 修复xdr:row标签导致的问题(issue#1297@Github) -* 【core 】 修复FileUtil.loopFiles使用FileFilter无效问题(issue#I28V48@Gitee) -* 【extra 】 修复JschUtil.execByShell返回空的问题(issue#1067@Github) -* 【poi 】 修复特殊的excel使用sax读取时未读到值的问题(issue#1303@Github) -* 【http 】 修复HttpUtil类条件判断错误(pr#232@Gitee) - -------------------------------------------------------------------------------------------------------------- - -# 5.5.2 (2020-12-01) - -### 🐣新特性 -* 【crypto 】 KeyUtil增加重载,AES构造增加重载(issue#I25NNZ@Gitee) -* 【json 】 JSONUtil增加toList重载(issue#1228@Github) -* 【core 】 新增CollStreamUtil(issue#1228@Github) -* 【extra 】 新增Rhino表达式执行引擎(pr#1229@Github) -* 【crypto 】 增加判空(issue#1230@Github) -* 【core 】 xml.setXmlStandalone(true)格式优化(pr#1234@Github) -* 【core 】 AnnotationUtil增加setValue方法(pr#1250@Github) -* 【core 】 ZipUtil增加get方法(issue#I27CUF@Gitee) -* 【cache 】 对CacheObj等变量使用volatile关键字 -* 【core 】 Base64增加encodeWithoutPadding方法(issue#I26J16@Gitee) -* 【core 】 ExceptionUtil增加message消息包装为运行时异常的方法(pr#1253@Gitee) -* 【core 】 DatePattern增加年月格式化常量(pr#220@Gitee) -* 【core 】 ArrayUtil增加shuffle方法(pr#1255@Github) -* 【core 】 ArrayUtil部分方法分离至PrimitiveArrayUtil -* 【crypto 】 opt改为otp包(issue#1257@Github) -* 【cache 】 增加CacheListener(issue#1257@Github) -* 【core 】 TimeInterval支持分组(issue#1238@Github) -* 【core 】 增加compile包(pr#1243@Github) -* 【core 】 增加ResourceClassLoader、CharSequenceResource、FileObjectResource -* 【core 】 修改IoUtil.read(Reader)逻辑默认关闭Reader -* 【core 】 ZipUtil增加Zip方法(pr#222@Gitee) -* 【all 】 增加Hutool.getAllUtils和printAllUtils方法 -* 【core 】 增加PunyCode(issue#1268@Gitee) -* 【core 】 ArrayUtil增加isSorted方法(pr#1271@Github) -* 【captcha】 增加GifCaptcha(pr#1273@Github) -* 【core 】 增加SSLUtil、SSLContextBuilder - -### 🐞Bug修复 -* 【cron 】 修复CronTimer可能死循环的问题(issue#1224@Github) -* 【core 】 修复Calculator.conversion单个数字越界问题(issue#1222@Github) -* 【poi 】 修复ExcelUtil.getSaxReader使用非MarkSupport流报错问题(issue#1225@Github) -* 【core 】 修复HexUtil.format问题(issue#I268XT@Gitee) -* 【core 】 修复ZipUtil判断压缩文件是否位于压缩目录内的逻辑有误的问题(issue#1251@Github) -* 【json 】 修复JSONObject.accumulate问题 -* 【poi 】 修复部分xlsx文件sax方式解析空指针问题(issue#1265@Github) -* 【core 】 修复PatternPool中邮编的正则(issue#1274@Github) - -------------------------------------------------------------------------------------------------------------- - -# 5.5.1 (2020-11-16) - -### 🐣新特性 -* 【core 】 增加CopyVisitor和DelVisitor - -### 🐞Bug修复 -* 【core 】 修复在Linux下FileUtil.move失败问题(issue#I254Y3@Gitee) -* 【http 】 修复UrlUtil和UrlBuilder中多个/被替换问题(issue#I25MZL@Gitee) - -------------------------------------------------------------------------------------------------------------- - -# 5.5.0 (2020-11-14) - -### 大版本特性 -* 【extra 】 增加jakarta.validation-api封装:ValidationUtil(pr#207@Gitee) -* 【extra 】 增加表达式引擎封装:ExpressionUtil(pr#1203@Github) -* 【extra 】 新增基于Apache-FtpServer封装:SimpleFtpServer -* 【extra 】 新增基于Commons-Compress封装:CompressUtil - -### 🐣新特性 -* 【core 】 NumberUtil.parseInt等支持123,2.00这类数字(issue#I23ORQ@Gitee) -* 【core 】 增加ArrayUtil.isSub、indexOfSub、lastIndexOfSub方法(issue#I23O1K@Gitee) -* 【core 】 反射调用支持传递参数的值为null(pr#1205@Github) -* 【core 】 HexUtil增加format方法(issue#I245NF@Gitee) -* 【poi 】 ExcelWriter增加setCurrentRowToEnd方法(issue#I24A2R@Gitee) -* 【core 】 ExcelWriter增加setCurrentRowToEnd方法(issue#I24A2R@Gitee) -* 【core 】 增加enum转数字支持(issue#I24QZY@Gitee) -* 【core 】 NumberUtil.toBigDecimal空白符转换为0(issue#I24MRP@Gitee) -* 【core 】 CollUtil和IterUtil增加size方法(pr#208@Gitee) -* 【poi 】 ExcelReader的read方法读取空单元格增加CellEditor处理(issue#1213@Github) - -### 🐞Bug修复 -* 【core 】 修复DateUtil.current使用System.nanoTime的问题(issue#1198@Github) -* 【core 】 修复Excel03SaxReader判断日期出错问题(issue#I23M9H@Gitee) -* 【core 】 修复ClassUtil.getTypeArgument方法在判断泛型时导致的问题(issue#1207@Github) -* 【core 】 修复Ipv4Util分隔符问题(issue#I24A9I@Gitee) -* 【core 】 修复Ipv4Util.longToIp的问题 -* 【poi 】 修复Excel07SaxReader读取公式的错误的问题(issue#I23VFL@Gitee) -* 【http 】 修复HttpUtil.isHttp判断问题(pr#1208@Github) -* 【http 】 修复Snowflake时间回拨导致ID重复的bug(issue#1206@Github) -* 【core 】 修复StrUtil.lastIndexOf查找位于首位的字符串找不到的bug(issue#I24RSV@Gitee) -* 【poi 】 修复BigExcelWriter的autoSizeColumnAll问题(pr#1221@Github) -* 【core 】 修复StrUtil.subBetweenAll不支持相同字符的问题(pr#1217@Github) - -------------------------------------------------------------------------------------------------------------- - -# 5.4.7 (2020-10-31) - -### 🐣新特性 -* 【core 】 增加OptionalBean(pr#1182@Github) -* 【core 】 Ganzhi增加方法(issue#1186@Github) -* 【core 】 CollUtil增加forEach重载(issue#I22NA4@Gitee) -* 【core 】 CollUtil.map忽略空值改规则为原数组中的元素和处理后的元素都会忽略空值(issue#I22N08@Gitee) -* 【http 】 增加SoapClient增加addSOAPHeader重载 -* 【http 】 ArrayUtil增加containsAll方法 -* 【core 】 增加CharsetDetector -* 【cron 】 增加CronTask,监听支持获取id(issue#I23315@Gitee) - -### 🐞Bug修复 -* 【core 】 修复BeanUtil.beanToMap方法中editor返回null没有去掉的问题 -* 【core 】 修复ImgUtil.toBufferedImage颜色模式的问题(issue#1194@Github) -* 【cron 】 修复TimeZone设置无效的问题(issue#I23315@Gitee) - -------------------------------------------------------------------------------------------------------------- - -# 5.4.6 (2020-10-23) - -### 🐣新特性 -* 【http 】 HttpRequest增加basicProxyAuth方法(issue#I1YQGM@Gitee) -* 【core 】 NumberUtil.toStr修改逻辑,去掉BigDecimal的科学计数表示(pr#196@Gitee) -* 【core 】 ListUtil.page第一页页码使用PageUtil(pr#198@Gitee) -* 【http 】 增加微信、企业微信ua识别(pr#1179@Github) -* 【core 】 ObjectUtil增加defaultIfXXX(pr#199@Gitee) -* 【json 】 JSONObject构建时不支持的对象类型抛出异常 - -### 🐞Bug修复 -* 【core 】 修复ChineseDate没有忽略时分秒导致计算错误问题(issue#I1YW12@Gitee) -* 【core 】 修复FileUtil中,copyFile方法断言判断参数传递错误(issue#I1Z2NY@Gitee) -* 【core 】 修复BeanDesc读取父类属性覆盖子类属性导致的问题(pr#1175@Github) -* 【aop 】 修复SimpleAspect一个重载导致的问题,去掉重载的after方法(issue#I1YUG9@Gitee) -* 【poi 】 修复03 sax读取日期问题(issue#I1Z83N@Gitee) -* 【core 】 修复FileUtil.size软链导致的问题(pr#200@Gitee) -* 【core 】 修复JSONObject构造时传入JSONArray结果出错问题(issue#I22FDS@Gitee) - -------------------------------------------------------------------------------------------------------------- - -# 5.4.5 (2020-10-18) - -### 🐣新特性 -* 【core 】 ConsoleTable代码优化(pr#190@Gitee) -* 【http 】 HttpRequest增加setProxy重载(pr#190@Gitee) -* 【core 】 XmlUtil.cleanComment(pr#191@Gitee) -* 【core 】 ArrayUtil.unWrap增加默认值(pr#1149@Github) -* 【core 】 ArrayUtil.indexOf修改double的equals判断(pr#1147@Github) -* 【core 】 优化StrUtil中部分参数校验以及逻辑处理(pr#1144@Github) -* 【core 】 简化CreditCode逻辑去除无用Character.toUpperCase(pr#1145@Github) -* 【core 】 NumberUtil增加generateRandomNumber重载,可自定义seed(issue#I1XTUT@Gitee) -* 【core 】 DataSizeUtil支持小数(pr#1158@Github) -* 【core 】 完善注释(pr#193@Gitee) -* 【core 】 优化Combination.countAll(pr#1159@Github) -* 【core 】 优化针对list的split方法(pr#194@Gitee) -* 【poi 】 ExcelWriter增加setRowStyle方法 -* 【core 】 Assert增加函数接口(pr#1166@Github) -* 【core 】 新增AtomicIntegerArray、AtomicLongArray转换 -* 【extra 】 PinyinUtil新增Bopomofo4j支持 -* 【core 】 新增TemporalUtil工具类,新增时间相关方法 - -### 🐞Bug修复 -* 【core 】 解决农历判断节日未判断大小月导致的问题(issue#I1XHSF@Gitee) -* 【core 】 解决ListUtil计算总量可能的int溢出问题(pr#1150@Github) -* 【json 】 解决JSON中转换为double小数精度丢失问题(pr#192@Gitee) -* 【core 】 修复CaseInsensitiveMap的remove等方法并没有忽略大小写的问题(pr#1163@Gitee) -* 【poi 】 修复合并单元格值读取错误的问题 -* 【poi 】 修复NamedSql解析形如col::numeric出错问题(issue#I1YHBX@Gitee) -* 【core 】 修复计算相差天数导致的问题 - -------------------------------------------------------------------------------------------------------------- - -# 5.4.4 (2020-09-28) - -### 🐣新特性 -* 【core 】 ServiceLoaderUtil改为使用contextClassLoader(pr#183@Gitee) -* 【core 】 NetUtil增加getLocalHostName(pr#1103@Github) -* 【extra 】 FTP增加stat方法(issue#I1W346@Gitee) -* 【core 】 Convert.toNumber支持类似12.2F这种形式字符串转换(issue#I1VYLJ@Gitee) -* 【core 】 使用静态变量替换999等(issue#I1W8IB@Gitee) -* 【core 】 URLUtil自动trim(issue#I1W803@Gitee) -* 【crypto 】 RC4增加ecrypt(pr#1108@Github) -* 【core 】 CharUtil and StrUtil增加@(pr#1106@Github) -* 【extra 】 优化EMOJ查询逻辑(pr#1112@Github) -* 【extra 】 优化CollUtil交并集结果集合设置初始化大小,避免扩容成本(pr#1110@Github) -* 【core 】 优化PageUtil彩虹算法(issue#1110@Github) -* 【core 】 IoUtil增加readUtf8方法 -* 【core 】 优化全局邮箱账户初始化逻辑(pr#1114@Github) -* 【http 】 SoapClient增加addSOAPHeader方法 -* 【http 】 完善StrUtil的注释(pr#186@Gitee) -* 【aop 】 去除调试日志(issue#1116@Github) -* 【core 】 增加'反转义(pr#1121@Github) -* 【poi 】 增加SheetReader和XXXRowHandler(issue#I1WHJP@Gitee) -* 【dfa 】 增加过滤符号(pr#1122@Github) -* 【dfa 】 SensitiveUtil增加setCharFilter方法(pr#1123@Github) -* 【all 】 优化常量大小写规范(pr#188@Gitee) -* 【core 】 优化NumberUtil中针对BigDecimal的一些处理逻辑(pr#1127@Github) -* 【core 】 NumberUtil.factorial注释明确(pr#1126@Github) -* 【core 】 NumberUtil增加isPowerOfTwo方法(pr#1132@Github) -* 【core 】 优化BooleanUtil的校验逻辑(pr#1137@Github) -* 【poi 】 改进sax方式读取逻辑,支持sheetId(issue#1141@Github) -* 【core 】 XmlUtil增加readBySax方法 - -### 🐞Bug修复 -* 【crypto 】 修复SM2验签后无法解密问题(issue#I1W0VP@Gitee) -* 【core 】 修复新建默认TreeSet没有默认比较器导致的问题(issue#1101@Github) -* 【core 】 修复Linux下使用Windows路径分隔符导致的解压错误(issue#I1MW0E@Gitee) -* 【core 】 修复Word07Writer写出map问题(issue#I1W49R@Gitee) -* 【script 】 修复函数库脚本执行问题 -* 【core 】 修复RGB随机颜色的上限值不对且API重复(pr#1136@Gihub) - -------------------------------------------------------------------------------------------------------------- - -# 5.4.3 (2020-09-16) - -### 🐣新特性 -* 【core 】 使用静态的of方法来new对象(pr#177@Gitee) -* 【setting】 Setting增加store无参方法(issue#1072@Github) -* 【setting】 StatementUtil增加null缓存(pr#1076@Github) -* 【core 】 扩充Console功能,支持可变参数(issue#1077@Github) -* 【crypto 】 增加ECKeyUtil(issue#I1UOF5@Gitee) -* 【core 】 增加TransXXX(issue#I1TU1Y@Gitee) -* 【core 】 增加Generator -* 【db 】 Column增加是否主键、保留位数等字段 -* 【cache 】 Cache接口增加get重载(issue#1080@Github) -* 【core 】 增加Interner和InternUtil(issue#I1TU1Y@Gitee) -* 【core 】 增加Calculator(issue#1090@Github) -* 【core 】 IdcardUtil增加getIdcardInfo方法(issue#1092@Github) -* 【core 】 改进ObjectUtil.equal,支持BigDecimal判断 -* 【core 】 ArrayConverter增加可选是否忽略错误(issue#I1VNYQ@Gitee) -* 【db 】 增加ConditionBuilder -* 【setting】 Setting和Props增加create方法 -* 【log 】 增加TinyLog2支持(issue#1094@Github) - -### 🐞Bug修复 -* 【core 】 修复Dict.of错误(issue#I1UUO5@Gitee) -* 【core 】 修复UrlBuilder地址参数问题(issue#I1UWCA@Gitee) -* 【core 】 修复StrUtil.toSymbolCase转换问题(issue#1075@Github) -* 【log 】 修复打印null对象显示{msg}异常问题(issue#1084@Github) -* 【extra 】 修复ServletUtil.getReader中未关闭的问题 -* 【extra 】 修复QrCodeUtil在新版本zxing报错问题(issue#1088@Github) -* 【core 】 修复LocalDateTimeUtil.parse无法解析yyyyMMddHHmmssSSS的bug(issue#1082@Github) -* 【core 】 修复VersionComparator.equals递归调用问题(issue#1093@Github) - -------------------------------------------------------------------------------------------------------------- - -# 5.4.2 (2020-09-09) - -### 🐣新特性 -* 【core 】 lock放在try外边(pr#1050@Github) -* 【core 】 MailUtil增加错误信息(issue#I1TAKJ@Gitee) -* 【core 】 JschUtil添加远程转发功能(pr#171@Gitee) -* 【db 】 AbstractDb增加executeBatch重载(issue#1053@Github) -* 【extra 】 新增方便引入SpringUtil的注解@EnableSpringUtil(pr#172@Gitee) -* 【poi 】 RowUtil增加插入和删除行(pr#1060@Github) -* 【extra 】 SpringUtil增加注册bean(pr#174@Gitee) -* 【core 】 修改NetUtil.getMacAddress避免空指针(issue#1057@Github) -* 【core 】 增加EnumItem接口,枚举扩展转换,增加SPI自定义转换(pr#173@Github) -* 【core 】 TypeUtil增加getActualType,增加ActualTypeMapperPool类(issue#I1TBWH@Gitee) -* 【extra 】 QRConfig中添加qrVersion属性(pr#1068@Github) -* 【core 】 ArrayUtil增加equals方法 -* 【core 】 BeanDesc增加方法 -* 【core 】 增加@PropIgnore注解(issue#I1U846@Gitee) - -### 🐞Bug修复 -* 【core 】 重新整理农历节假日,解决一个pr过来的玩笑导致的问题 -* 【poi 】 修复ExcelFileUtil.isXls判断问题(pr#1055@Github) -* 【poi 】 修复CglibUtil.copyList参数错误导致的问题 -* 【http 】 修复GET请求附带body导致变POST的问题 -* 【core 】 修复double相等判断问题(pr#175@Gitee) -* 【core 】 修复DateSizeUtil.format越界问题(issue#1069@Github) -* 【core 】 修复ChineseDate.getChineseMonth问题(issue#I1UG72@Gitee) - -------------------------------------------------------------------------------------------------------------- - -# 5.4.1 (2020-08-29) - -### 🐣新特性 -* 【core 】 StrUtil增加firstNonXXX方法(issue#1020@Github) -* 【core 】 BeanCopier修改规则,可选bean拷贝空字段报错问题(pr#160@Gitee) -* 【http 】 HttpUtil增加downloadFileFromUrl(pr#1023@Github) -* 【core 】 增加toEpochMilli方法 -* 【core 】 Validator修改isCitizenId校验(pr#1032@Github) -* 【core 】 增加PathUtil和FileNameUtil,分离FileUtil中部分方法 -* 【core 】 改造IndexedComparator,增加InstanceComparator -* 【extra 】 增加CglibUtil -* 【core 】 增加Ipv4Util(pr#161@Gitee) -* 【core 】 增加CalendarUtil和DateUtil增加isSameMonth方法(pr#161@Gitee) -* 【core 】 Dict增加of方法(issue#1035@Github) -* 【core 】 StrUtil.wrapAll方法不明确修改改为wrapAllWithPair(issue#1042@Github) -* 【core 】 EnumUtil.getEnumAt负数返回null(pr#167@Gitee) -* 【core 】 ChineseDate增加天干地支和转换为公历方法(pr#169@Gitee) -* 【core 】 Img增加stroke描边方法(issue#1033@Github) - -### 🐞Bug修复# -* 【poi 】 修复ExcelBase.isXlsx方法判断问题(issue#I1S502@Gitee) -* 【poi 】 修复Excel03SaxReader日期方法判断问题(pr#1026@Github) -* 【core 】 修复StrUtil.indexOf空指针问题(issue#1038@Github) -* 【extra 】 修复VelocityEngine编码问题和路径前缀问题(issue#I1T0IG@Gitee) - -------------------------------------------------------------------------------------------------------------- - -# 5.4.0 (2020-08-06) - -### 🐣新特性 -* 【socket】 对NioServer和NioClient改造(pr#992@Github) -* 【core 】 StrUtil增加filter方法(pr#149@Gitee) -* 【core 】 DateUtil增加beginOfWeek重载 -* 【core 】 将有歧义的BeanUtil.mapToBean方法置为过期(使用toBean方法) -* 【core 】 添加WatchAction(对Watcher的抽象) -* 【core 】 修改UUID正则,更加严谨(issue#I1Q1IW@Gitee) -* 【core 】 ArrayUtil增加isAllNull方法(issue#1004@Github) -* 【core 】 CollUtil增加contains方法(pr#152@Gitee) -* 【core 】 ArrayUtil增加isAllNotNull方法(pr#1008@Github) -* 【poi 】 closeAfterRead参数无效,方法设为过期(issue#1007@Github) -* 【core 】 CollUtil中部分方法返回null变更为返回empty -* 【all 】 添加英文README(pr#153@Gitee) -* 【extra 】 SpringUtil增加getBean(TypeReference)(pr#1009@Github) -* 【core 】 Assert增加方法,支持自定义异常处理(pr#154@Gitee) -* 【core 】 BooleanConverter增加数字转换规则(issue#I1R2AB@Gitee) -* 【poi 】 sax方式读取增加一个sheet结束的回调(issue#155@Gitee) -* 【db 】 增加BeeCP连接池支持 -* 【core 】 改进Img.pressImage方法,避免变色问题(issue#1001@Github) - -### 🐞Bug修复# -* 【core 】 修复原始类型转换时,转换失败没有抛出异常的问题 -* 【core 】 修复BeanUtil.mapToBean中bean的class非空构造无法实例化问题 -* 【core 】 修复NamedSql多个连续变量出现替换问题 -* 【core 】 修复Bean重名字段(大小写区别)获取数据出错的问题(issue#I1QBQ4@Gitee) -* 【http 】 修复SimpleServer响应头无效问题(issue#1006@Github) -* 【core 】 修复ThreadLocalRandom共享seed导致获取随机数一样的问题(pr#151@Gitee) - -------------------------------------------------------------------------------------------------------------- - -# 5.3.11 (2020-08-01) - -### 🐣新特性 -* 【captcha】 AbstractCaptcha增加getImageBase64Data方法(pr#985@Github) -* 【core 】 增加PhoneUtil(pr#990@Github) -* 【core 】 改进Img,目标图片类型未定义使用源图片类型(issue#I1PB0B@Gitee) -* 【json 】 JSONConfig增加Transient选项(issue#I1PLHN@Gitee) -* 【core 】 MapUtil增加getXXX的默认值重载(issue#I1PTGI@Gitee) -* 【core 】 CalendarUtil增加parseByPatterns方法(issue#993@Github) - -### 🐞Bug修复# - -------------------------------------------------------------------------------------------------------------- - -## 5.3.10 (2020-07-23) - -### 🐣新特性 -* 【db 】 增加DbUtil.setReturnGeneratedKeyGlobal(issue#I1NM0K@Gitee) -* 【core 】 增加DataSize和DataSizeUtil(issue#967@Github) -* 【core 】 ImgUtil增加异常,避免空指针(issue#I1NKXG@Gitee) -* 【core 】 增加CRC16算法若干(pr#963@Github) -* 【core 】 LocalDateTimeUtil增加format等方法(pr#140@Gitee) -* 【http 】 UserAgentUtil增加Android原生浏览器识别(pr#975@Github) -* 【crypto 】 增加ECIES算法类(issue#979@Github) -* 【crypto 】 CollUtil增加padLeft和padRight方法(pr#141@Gitee) -* 【core 】 IdCardUtil香港身份证去除首字母校验(issue#I1OOTB@Gitee) - -### 🐞Bug修复 -* 【core 】 修复ZipUtil中finish位于循环内的问题(issue#961@Github) -* 【core 】 修复CollUtil.page未越界检查的问题(issue#I1O2LR@Gitee) -* 【core 】 修复StrUtil.removeAny的bug(issue#977@Github) - -------------------------------------------------------------------------------------------------------------- - -## 5.3.9 (2020-07-12) - -### 🐣新特性 -* 【core 】 DateUtil增加formatChineseDate(pr#932@Github) -* 【core 】 ArrayUtil.isEmpty修改逻辑(pr#948@Github) -* 【core 】 增强StrUtil中空判断后返回数据性能(pr#949@Github) -* 【core 】 deprecate掉millsecond,改为millisecond(issue#I1M9P8@Gitee) -* 【core 】 增加LocalDateTimeUtil(issue#I1KUVC@Gitee) -* 【core 】 Month增加getLastDay方法 -* 【core 】 ChineseDate支持到2099年 - -### 🐞Bug修复 -* 【core 】 修复NumberUtil.partValue有余数问题(issue#I1KX66@Gitee) -* 【core 】 修复BeanUtil.isEmpty不能忽略static字段问题(issue#I1KZI6@Gitee) -* 【core 】 修复StrUtil.brief长度问题(pr#930@Github) -* 【socket 】 修复AioSession构造超时无效问题(pr#941@Github) -* 【setting】 修复GroupSet.contains错误(pr#943@Github) -* 【core 】 修复ZipUtil没有调用finish问题(issue#944@Github) -* 【extra 】 修复Ftp中ArrayList长度为负问题(pr#136@Github) -* 【core 】 修复Dict中putAll大小写问题(issue#I1MU5B@Gitee) -* 【core 】 修复POI中sax读取数字判断错误问题(issue#931@Github) -* 【core 】 修复DateUtil.endOfQuarter错误问题(issue#I1NGZ7@Gitee) -* 【core 】 修复URL中有空格转为+问题(issue#I1NGW4@Gitee) -* 【core 】 修复CollUtil.intersectionDistinct空集合结果错误问题 -* 【core 】 修复ChineseDate在1996年计算错误问题(issue#I1N96I@Gitee) - -------------------------------------------------------------------------------------------------------------- - -## 5.3.8 (2020-06-16) - -### 🐣新特性 -* 【core 】 增加ISO8601日期格式(issue#904@Github) -* 【setting】 Props异常规则修改(issue#907@Github) -* 【setting】 增加GIF支持 -* 【core 】 复制创建一个Bean对象, 并忽略某些属性(pr#130@Gitee) -* 【core 】 DateUtil.parse支持更多日期格式(issue#I1KHTB@Gitee) -* 【crypto 】 增加获取密钥空指针的检查(issue#925@Github) -* 【core 】 增加StrUtil.removeAny方法(issue#923@Github) -* 【db 】 增加部分Connection参数支持(issue#924@Github) -* 【core 】 FileUtil增加别名方法(pr#926@Github) -* 【poi 】 ExcelReader中增加read重载,提供每个单元格单独处理的方法(issue#I1JZTL@Gitee) - -### 🐞Bug修复 -* 【json 】 修复append方法导致的JSONConfig传递失效问题(issue#906@Github) -* 【core 】 修复CollUtil.subtractToList判断错误(pr#915@Github) -* 【poi 】 修复WordWriter写表格问题(pr#914@Github) -* 【core 】 修复IoUtil.readBytes缓存数组长度问题(issue#I1KIUE@Gitee) -* 【core 】 修复BigExcelWriter多次flush导致的问题(issue#920@Github) -* 【extra 】 绕过Pinyin4j最后一个分隔符失效的bug(issue#921@Github) - -------------------------------------------------------------------------------------------------------------- - -## 5.3.7 (2020-06-03) - -### 🐣新特性 -* 【core 】 ThreadFactoryBuilder的setUncaughtExceptionHandler返回this(issue#I1J4YJ@Gitee) - -### 🐞Bug修复 -* 【core 】 修复DateUtil.parse解析2020-5-8 3:12:13错误问题(issue#I1IZA3@Gitee) -* 【core 】 修复Img.pressImg大小无效问题(issue#I1HSWU@Gitee) -* 【core 】 修复CronUtil.stop没有清除任务的问题(issue#I1JACI@Gitee) - -------------------------------------------------------------------------------------------------------------- -## 5.3.6 (2020-05-30) - -### 🐣新特性 -* 【core 】 NumberConverter Long类型增加日期转换(pr#872@Github) -* 【all 】 StrUtil and SymmetricCrypto注释修正(pr#873@Github) -* 【core 】 CsvReader支持返回Bean(issue#869@Github) -* 【core 】 Snowflake循环等待下一个时间时避免长时间循环,加入对时钟倒退的判断(pr#874@Github) -* 【extra 】 新增 QRCode base64 编码形式返回(pr#878@Github) -* 【core 】 ImgUtil增加toBase64DateUri,URLUtil增加getDataUri方法 -* 【core 】 IterUtil添加List转Map的工具方法(pr#123@Gitee) -* 【core 】 BeanValueProvider转换失败时,返回原数据,而非null -* 【core 】 支持BeanUtil.toBean(object, Map.class)转换(issue#I1I4HC@Gitee) -* 【core 】 MapUtil和CollUtil增加clear方法(issue#I1I4HC@Gitee) -* 【core 】 增加FontUtil,可定义pressText是否从中间(issue#I1HSWU@Gitee) -* 【http 】 SoapClient支持自定义请求头(issue#I1I0AO@Gitee) -* 【script 】 ScriptUtil增加evalInvocable和invoke方法(issue#I1HHCP@Gitee) -* 【core 】 ImgUtil增加去除背景色的方法(pr#124@Gitee) -* 【system 】 OshiUtil增加获取CPU使用率的方法(pr#124@Gitee) -* 【crypto 】 AsymmetricAlgorithm去除EC(issue#887@Github) -* 【cache 】 超时缓存使用的线程池大小默认为1(issue#890@Github) -* 【poi 】 ExcelSaxReader支持handleCell方法 -* 【core 】 Snowflake容忍2秒内的时间回拨(issue#I1IGDX@Gitee) -* 【core 】 StrUtil增加isAllNotEmpty、isAllNotBlank方法(pr#895@Github) -* 【core 】 DateUtil增加dayOfYear方法(pr#895@Github) -* 【core 】 DateUtil增加dayOfYear方法(pr#895@Github) -* 【http 】 HttpUtil增加downloadBytes方法(pr#895@Github) -* 【core 】 isMactchRegex失效标记,增加isMatchRegex(issue#I1IPJG@Gitee) -* 【core 】 优化Validator.isChinese -* 【core 】 ArrayUtil.addAll增加原始类型支持(issue#898@Github) -* 【core 】 DateUtil.parse支持2020-1-1这类日期解析(issue#I1HGWW@Github) - -### 🐞Bug修复 -* 【core 】 修复SimpleCache死锁问题(issue#I1HOKB@Gitee) -* 【core 】 修复SemaphoreRunnable释放问题(issue#I1HLQQ@Gitee) -* 【poi 】 修复Sax方式读取Excel行号错误问题(issue#882@Github) -* 【poi 】 修复Sax方式读取Excel日期类型数据03和07不一致问题(issue#I1HL1C@Gitee) -* 【poi 】 修复CamelCaseLinkedMap构造错误(issue#I1IZ30@Gitee) - -------------------------------------------------------------------------------------------------------------- - -## 5.3.5 (2020-05-13) - -### 🐣新特性 -* 【core 】 增加CollUtil.map方法 -* 【extra 】 增加Sftp.lsEntries方法,Ftp和Sftp增加recursiveDownloadFolder(pr#121@Gitee) -* 【system 】 OshiUtil增加getNetworkIFs方法 -* 【core 】 CollUtil增加unionDistinct、unionAll方法(pr#122@Gitee) -* 【core 】 增加IoUtil.readObj重载,通过ValidateObjectInputStream由用户自定义安全检查。 -* 【http 】 改造HttpRequest中文件上传部分,增加MultipartBody类 - -### 🐞Bug修复 -* 【core 】 修复IoUtil.readObj中反序列化安全检查导致的一些问题,去掉安全检查。 -* 【http 】 修复SimpleServer文件访问404问题(issue#I1GZI3@Gitee) -* 【core 】 修复BeanCopier中循环引用逻辑问题(issue#I1H2VN@Gitee) - -------------------------------------------------------------------------------------------------------------- - -## 5.3.4 (2020-05-10) - -### 🐣新特性 -* 【core 】 增加URLUtil.getContentLength方法(issue#I1GB1Z@Gitee) -* 【extra 】 增加PinyinUtil(issue#I1GMIV@Gitee) - -### 🐞Bug修复 -* 【extra 】 修复Ftp设置超时问题(issue#I1GMTQ@Gitee) -* 【core 】 修复TreeUtil根据id查找子节点时的NPE问题(pr#120@Gitee) -* 【core 】 修复BeanUtil.copyProperties中Alias注解无效问题(issue#I1GK3M@Gitee) -* 【core 】 修复CollUtil.containsAll空集合判断问题(issue#I1G9DE@Gitee) -* 【core 】 修复XmlUtil.xmlToBean失败问题(issue#865@Github) - -------------------------------------------------------------------------------------------------------------- - -## 5.3.3 (2020-05-05) - -### 🐣新特性 -* 【core 】 ImgUtil.createImage支持背景透明(issue#851@Github) -* 【json 】 更改JSON转字符串时" cn.hutool hutool-all - 5.8.0.M5 + 6.0.0.M1 ``` ### 🍐Gradle ``` -implementation 'cn.hutool:hutool-all:5.8.0.M5' +implementation 'cn.hutool:hutool-all:6.0.0.M1' ``` ## 📥Download -- [Maven Repo](https://repo1.maven.org/maven2/cn/hutool/hutool-all/5.8.0.M5/) +- [Maven Repo](https://repo1.maven.org/maven2/cn/hutool/hutool-all/6.0.0.M1/) > 🔔️note: > Hutool 5.x supports JDK8+ and is not tested on Android platforms, and cannot guarantee that all tool classes or tool methods are available. diff --git a/README.md b/README.md index 601bf892d..584df4c8f 100755 --- a/README.md +++ b/README.md @@ -144,20 +144,20 @@ Hutool的存在就是为了减少代码搜索成本,避免网络上参差不 cn.hutool hutool-all - 5.8.0.M5 + 6.0.0.M1 ``` ### 🍐Gradle ``` -implementation 'cn.hutool:hutool-all:5.8.0.M5' +implementation 'cn.hutool:hutool-all:6.0.0.M1' ``` ### 📥下载jar 点击以下链接,下载`hutool-all-X.X.X.jar`即可: -- [Maven中央库](https://repo1.maven.org/maven2/cn/hutool/hutool-all/5.8.0.M5/) +- [Maven中央库](https://repo1.maven.org/maven2/cn/hutool/hutool-all/6.0.0.M1/) > 🔔️注意 > Hutool 5.x支持JDK8+,对Android平台没有测试,不能保证所有工具类或工具方法可用。 diff --git a/bin/version.txt b/bin/version.txt index 0185a6be9..c946d3d40 100755 --- a/bin/version.txt +++ b/bin/version.txt @@ -1 +1 @@ -5.8.0.M5 +6.0.0.M1 diff --git a/docs/js/version.js b/docs/js/version.js index 2ce39747b..a5763db79 100755 --- a/docs/js/version.js +++ b/docs/js/version.js @@ -1 +1 @@ -var version = '5.8.0.M5' \ No newline at end of file +var version = '6.0.0.M1' \ No newline at end of file diff --git a/hutool-all/pom.xml b/hutool-all/pom.xml index c18a06212..5f87a6a2a 100755 --- a/hutool-all/pom.xml +++ b/hutool-all/pom.xml @@ -9,12 +9,12 @@ cn.hutool hutool-parent - 5.8.0.M5 + 6.0.0.M1 hutool-all ${project.artifactId} - Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。 + Hutool是一个优雅而小巧的Java工具类库 https://github.com/looly/hutool @@ -23,21 +23,6 @@ hutool-core ${project.parent.version} - - cn.hutool - hutool-aop - ${project.parent.version} - - - cn.hutool - hutool-bloomFilter - ${project.parent.version} - - - cn.hutool - hutool-cache - ${project.parent.version} - cn.hutool hutool-crypto @@ -48,11 +33,6 @@ hutool-db ${project.parent.version} - - cn.hutool - hutool-dfa - ${project.parent.version} - cn.hutool hutool-extra @@ -68,21 +48,11 @@ hutool-log ${project.parent.version} - - cn.hutool - hutool-script - ${project.parent.version} - cn.hutool hutool-setting ${project.parent.version} - - cn.hutool - hutool-system - ${project.parent.version} - cn.hutool hutool-cron @@ -98,11 +68,6 @@ hutool-poi ${project.parent.version} - - cn.hutool - hutool-captcha - ${project.parent.version} - cn.hutool hutool-socket @@ -110,7 +75,7 @@ cn.hutool - hutool-jwt + hutool-swing ${project.parent.version} diff --git a/hutool-aop/pom.xml b/hutool-aop/pom.xml deleted file mode 100755 index b365e396c..000000000 --- a/hutool-aop/pom.xml +++ /dev/null @@ -1,46 +0,0 @@ - - - 4.0.0 - - jar - - - cn.hutool - hutool-parent - 5.8.0.M5 - - - hutool-aop - ${project.artifactId} - Hutool 动态代理(AOP) - - - - 3.3.0 - 5.3.19 - - - - - cn.hutool - hutool-core - ${project.parent.version} - - - cglib - cglib - ${cglib.version} - compile - true - - - org.springframework - spring-core - ${spring.version} - compile - true - - - diff --git a/hutool-aop/src/main/resources/META-INF/services/cn.hutool.aop.proxy.ProxyFactory b/hutool-aop/src/main/resources/META-INF/services/cn.hutool.aop.proxy.ProxyFactory deleted file mode 100644 index 7ea42d946..000000000 --- a/hutool-aop/src/main/resources/META-INF/services/cn.hutool.aop.proxy.ProxyFactory +++ /dev/null @@ -1,3 +0,0 @@ -cn.hutool.aop.proxy.CglibProxyFactory -cn.hutool.aop.proxy.SpringCglibProxyFactory -cn.hutool.aop.proxy.JdkProxyFactory \ No newline at end of file diff --git a/hutool-bloomFilter/pom.xml b/hutool-bloomFilter/pom.xml deleted file mode 100755 index d38e38057..000000000 --- a/hutool-bloomFilter/pom.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - 4.0.0 - - jar - - - cn.hutool - hutool-parent - 5.8.0.M5 - - - hutool-bloomFilter - ${project.artifactId} - Hutool 布隆过滤器 - - - - cn.hutool - hutool-core - ${project.parent.version} - - - diff --git a/hutool-bom/pom.xml b/hutool-bom/pom.xml index f332b3d89..63b187098 100755 --- a/hutool-bom/pom.xml +++ b/hutool-bom/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.8.0.M5 + 6.0.0.M1 hutool-bom @@ -24,21 +24,6 @@ hutool-core ${project.parent.version} - - cn.hutool - hutool-aop - ${project.parent.version} - - - cn.hutool - hutool-bloomFilter - ${project.parent.version} - - - cn.hutool - hutool-cache - ${project.parent.version} - cn.hutool hutool-crypto @@ -49,11 +34,6 @@ hutool-db ${project.parent.version} - - cn.hutool - hutool-dfa - ${project.parent.version} - cn.hutool hutool-extra @@ -69,21 +49,11 @@ hutool-log ${project.parent.version} - - cn.hutool - hutool-script - ${project.parent.version} - cn.hutool hutool-setting ${project.parent.version} - - cn.hutool - hutool-system - ${project.parent.version} - cn.hutool hutool-cron @@ -99,11 +69,6 @@ hutool-poi ${project.parent.version} - - cn.hutool - hutool-captcha - ${project.parent.version} - cn.hutool hutool-socket @@ -111,7 +76,7 @@ cn.hutool - hutool-jwt + hutool-swing ${project.parent.version} @@ -122,18 +87,6 @@ cn.hutool hutool-core - - cn.hutool - hutool-aop - - - cn.hutool - hutool-bloomFilter - - - cn.hutool - hutool-cache - cn.hutool hutool-crypto @@ -142,10 +95,6 @@ cn.hutool hutool-db - - cn.hutool - hutool-dfa - cn.hutool hutool-extra @@ -158,18 +107,10 @@ cn.hutool hutool-log - - cn.hutool - hutool-script - cn.hutool hutool-setting - - cn.hutool - hutool-system - cn.hutool hutool-cron @@ -182,17 +123,13 @@ cn.hutool hutool-poi - - cn.hutool - hutool-captcha - cn.hutool hutool-socket cn.hutool - hutool-jwt + hutool-swing diff --git a/hutool-cache/pom.xml b/hutool-cache/pom.xml deleted file mode 100755 index 15f9986f7..000000000 --- a/hutool-cache/pom.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - 4.0.0 - - jar - - - cn.hutool - hutool-parent - 5.8.0.M5 - - - hutool-cache - ${project.artifactId} - Hutool 缓存 - - - - cn.hutool - hutool-core - ${project.parent.version} - - - diff --git a/hutool-core/pom.xml b/hutool-core/pom.xml index bc6a64195..87fd312f2 100755 --- a/hutool-core/pom.xml +++ b/hutool-core/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.8.0.M5 + 6.0.0.M1 hutool-core diff --git a/hutool-cache/src/main/java/cn/hutool/cache/Cache.java b/hutool-core/src/main/java/cn/hutool/core/cache/Cache.java similarity index 98% rename from hutool-cache/src/main/java/cn/hutool/cache/Cache.java rename to hutool-core/src/main/java/cn/hutool/core/cache/Cache.java index ec021402e..b54675b9a 100644 --- a/hutool-cache/src/main/java/cn/hutool/cache/Cache.java +++ b/hutool-core/src/main/java/cn/hutool/core/cache/Cache.java @@ -1,6 +1,6 @@ -package cn.hutool.cache; +package cn.hutool.core.cache; -import cn.hutool.cache.impl.CacheObj; +import cn.hutool.core.cache.impl.CacheObj; import cn.hutool.core.lang.func.Func0; import java.io.Serializable; diff --git a/hutool-cache/src/main/java/cn/hutool/cache/CacheListener.java b/hutool-core/src/main/java/cn/hutool/core/cache/CacheListener.java similarity index 92% rename from hutool-cache/src/main/java/cn/hutool/cache/CacheListener.java rename to hutool-core/src/main/java/cn/hutool/core/cache/CacheListener.java index 6199525de..fe97e3844 100644 --- a/hutool-cache/src/main/java/cn/hutool/cache/CacheListener.java +++ b/hutool-core/src/main/java/cn/hutool/core/cache/CacheListener.java @@ -1,4 +1,4 @@ -package cn.hutool.cache; +package cn.hutool.core.cache; /** * 缓存监听,用于实现缓存操作时的回调监听,例如缓存对象的移除事件等 diff --git a/hutool-cache/src/main/java/cn/hutool/cache/CacheUtil.java b/hutool-core/src/main/java/cn/hutool/core/cache/CacheUtil.java similarity index 90% rename from hutool-cache/src/main/java/cn/hutool/cache/CacheUtil.java rename to hutool-core/src/main/java/cn/hutool/core/cache/CacheUtil.java index b9318d91b..d444b9f42 100644 --- a/hutool-cache/src/main/java/cn/hutool/cache/CacheUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/cache/CacheUtil.java @@ -1,11 +1,11 @@ -package cn.hutool.cache; +package cn.hutool.core.cache; -import cn.hutool.cache.impl.FIFOCache; -import cn.hutool.cache.impl.LFUCache; -import cn.hutool.cache.impl.LRUCache; -import cn.hutool.cache.impl.NoCache; -import cn.hutool.cache.impl.TimedCache; -import cn.hutool.cache.impl.WeakCache; +import cn.hutool.core.cache.impl.FIFOCache; +import cn.hutool.core.cache.impl.LFUCache; +import cn.hutool.core.cache.impl.LRUCache; +import cn.hutool.core.cache.impl.NoCache; +import cn.hutool.core.cache.impl.TimedCache; +import cn.hutool.core.cache.impl.WeakCache; /** * 缓存工具类 diff --git a/hutool-cache/src/main/java/cn/hutool/cache/GlobalPruneTimer.java b/hutool-core/src/main/java/cn/hutool/core/cache/GlobalPruneTimer.java similarity index 98% rename from hutool-cache/src/main/java/cn/hutool/cache/GlobalPruneTimer.java rename to hutool-core/src/main/java/cn/hutool/core/cache/GlobalPruneTimer.java index 1ea6c9f27..0c399021c 100644 --- a/hutool-cache/src/main/java/cn/hutool/cache/GlobalPruneTimer.java +++ b/hutool-core/src/main/java/cn/hutool/core/cache/GlobalPruneTimer.java @@ -1,4 +1,4 @@ -package cn.hutool.cache; +package cn.hutool.core.cache; import cn.hutool.core.thread.ThreadUtil; import cn.hutool.core.util.StrUtil; diff --git a/hutool-cache/src/main/java/cn/hutool/cache/file/AbstractFileCache.java b/hutool-core/src/main/java/cn/hutool/core/cache/file/AbstractFileCache.java similarity index 97% rename from hutool-cache/src/main/java/cn/hutool/cache/file/AbstractFileCache.java rename to hutool-core/src/main/java/cn/hutool/core/cache/file/AbstractFileCache.java index 5486d0593..ff7236b16 100644 --- a/hutool-cache/src/main/java/cn/hutool/cache/file/AbstractFileCache.java +++ b/hutool-core/src/main/java/cn/hutool/core/cache/file/AbstractFileCache.java @@ -1,12 +1,12 @@ -package cn.hutool.cache.file; +package cn.hutool.core.cache.file; + +import cn.hutool.core.cache.Cache; +import cn.hutool.core.io.FileUtil; +import cn.hutool.core.io.IORuntimeException; import java.io.File; import java.io.Serializable; -import cn.hutool.cache.Cache; -import cn.hutool.core.io.FileUtil; -import cn.hutool.core.io.IORuntimeException; - /** * 文件缓存,以解决频繁读取文件引起的性能问题 * @author Looly diff --git a/hutool-cache/src/main/java/cn/hutool/cache/file/LFUFileCache.java b/hutool-core/src/main/java/cn/hutool/core/cache/file/LFUFileCache.java similarity index 92% rename from hutool-cache/src/main/java/cn/hutool/cache/file/LFUFileCache.java rename to hutool-core/src/main/java/cn/hutool/core/cache/file/LFUFileCache.java index 179b517d1..9f12dce9b 100644 --- a/hutool-cache/src/main/java/cn/hutool/cache/file/LFUFileCache.java +++ b/hutool-core/src/main/java/cn/hutool/core/cache/file/LFUFileCache.java @@ -1,10 +1,10 @@ -package cn.hutool.cache.file; +package cn.hutool.core.cache.file; + +import cn.hutool.core.cache.Cache; +import cn.hutool.core.cache.impl.LFUCache; import java.io.File; -import cn.hutool.cache.Cache; -import cn.hutool.cache.impl.LFUCache; - /** * 使用LFU缓存文件,以解决频繁读取文件引起的性能问题 * @author Looly diff --git a/hutool-cache/src/main/java/cn/hutool/cache/file/LRUFileCache.java b/hutool-core/src/main/java/cn/hutool/core/cache/file/LRUFileCache.java similarity index 92% rename from hutool-cache/src/main/java/cn/hutool/cache/file/LRUFileCache.java rename to hutool-core/src/main/java/cn/hutool/core/cache/file/LRUFileCache.java index 5d0d34f6d..080b61fa5 100644 --- a/hutool-cache/src/main/java/cn/hutool/cache/file/LRUFileCache.java +++ b/hutool-core/src/main/java/cn/hutool/core/cache/file/LRUFileCache.java @@ -1,10 +1,10 @@ -package cn.hutool.cache.file; +package cn.hutool.core.cache.file; + +import cn.hutool.core.cache.Cache; +import cn.hutool.core.cache.impl.LRUCache; import java.io.File; -import cn.hutool.cache.Cache; -import cn.hutool.cache.impl.LRUCache; - /** * 使用LRU缓存文件,以解决频繁读取文件引起的性能问题 * @author Looly diff --git a/hutool-cache/src/main/java/cn/hutool/cache/file/package-info.java b/hutool-core/src/main/java/cn/hutool/core/cache/file/package-info.java similarity index 66% rename from hutool-cache/src/main/java/cn/hutool/cache/file/package-info.java rename to hutool-core/src/main/java/cn/hutool/core/cache/file/package-info.java index b08242d69..81ae6d580 100644 --- a/hutool-cache/src/main/java/cn/hutool/cache/file/package-info.java +++ b/hutool-core/src/main/java/cn/hutool/core/cache/file/package-info.java @@ -4,4 +4,4 @@ * @author looly * */ -package cn.hutool.cache.file; \ No newline at end of file +package cn.hutool.core.cache.file; diff --git a/hutool-cache/src/main/java/cn/hutool/cache/impl/AbstractCache.java b/hutool-core/src/main/java/cn/hutool/core/cache/impl/AbstractCache.java similarity index 98% rename from hutool-cache/src/main/java/cn/hutool/cache/impl/AbstractCache.java rename to hutool-core/src/main/java/cn/hutool/core/cache/impl/AbstractCache.java index a52ac4713..ad3e07d30 100644 --- a/hutool-cache/src/main/java/cn/hutool/cache/impl/AbstractCache.java +++ b/hutool-core/src/main/java/cn/hutool/core/cache/impl/AbstractCache.java @@ -1,7 +1,7 @@ -package cn.hutool.cache.impl; +package cn.hutool.core.cache.impl; -import cn.hutool.cache.Cache; -import cn.hutool.cache.CacheListener; +import cn.hutool.core.cache.Cache; +import cn.hutool.core.cache.CacheListener; import cn.hutool.core.lang.func.Func0; import cn.hutool.core.lang.mutable.Mutable; import cn.hutool.core.lang.mutable.MutableObj; diff --git a/hutool-cache/src/main/java/cn/hutool/cache/impl/CacheObj.java b/hutool-core/src/main/java/cn/hutool/core/cache/impl/CacheObj.java similarity index 98% rename from hutool-cache/src/main/java/cn/hutool/cache/impl/CacheObj.java rename to hutool-core/src/main/java/cn/hutool/core/cache/impl/CacheObj.java index 79e19442a..a29dd715f 100644 --- a/hutool-cache/src/main/java/cn/hutool/cache/impl/CacheObj.java +++ b/hutool-core/src/main/java/cn/hutool/core/cache/impl/CacheObj.java @@ -1,4 +1,4 @@ -package cn.hutool.cache.impl; +package cn.hutool.core.cache.impl; import cn.hutool.core.date.DateUtil; diff --git a/hutool-cache/src/main/java/cn/hutool/cache/impl/CacheObjIterator.java b/hutool-core/src/main/java/cn/hutool/core/cache/impl/CacheObjIterator.java similarity index 93% rename from hutool-cache/src/main/java/cn/hutool/cache/impl/CacheObjIterator.java rename to hutool-core/src/main/java/cn/hutool/core/cache/impl/CacheObjIterator.java index 8541cf94c..07d19170e 100644 --- a/hutool-cache/src/main/java/cn/hutool/cache/impl/CacheObjIterator.java +++ b/hutool-core/src/main/java/cn/hutool/core/cache/impl/CacheObjIterator.java @@ -1,11 +1,11 @@ -package cn.hutool.cache.impl; +package cn.hutool.core.cache.impl; import java.io.Serializable; import java.util.Iterator; import java.util.NoSuchElementException; /** - * {@link cn.hutool.cache.impl.AbstractCache} 的CacheObj迭代器. + * {@link AbstractCache} 的CacheObj迭代器. * * @author looly * diff --git a/hutool-cache/src/main/java/cn/hutool/cache/impl/CacheValuesIterator.java b/hutool-core/src/main/java/cn/hutool/core/cache/impl/CacheValuesIterator.java similarity index 89% rename from hutool-cache/src/main/java/cn/hutool/cache/impl/CacheValuesIterator.java rename to hutool-core/src/main/java/cn/hutool/core/cache/impl/CacheValuesIterator.java index 536c42377..9b20b3d57 100644 --- a/hutool-cache/src/main/java/cn/hutool/cache/impl/CacheValuesIterator.java +++ b/hutool-core/src/main/java/cn/hutool/core/cache/impl/CacheValuesIterator.java @@ -1,10 +1,10 @@ -package cn.hutool.cache.impl; +package cn.hutool.core.cache.impl; import java.io.Serializable; import java.util.Iterator; /** - * {@link cn.hutool.cache.impl.AbstractCache} 的值迭代器. + * {@link AbstractCache} 的值迭代器. * @author looly * * @param 迭代对象类型 diff --git a/hutool-cache/src/main/java/cn/hutool/cache/impl/FIFOCache.java b/hutool-core/src/main/java/cn/hutool/core/cache/impl/FIFOCache.java similarity index 98% rename from hutool-cache/src/main/java/cn/hutool/cache/impl/FIFOCache.java rename to hutool-core/src/main/java/cn/hutool/core/cache/impl/FIFOCache.java index a3fc35085..1949548b6 100644 --- a/hutool-cache/src/main/java/cn/hutool/cache/impl/FIFOCache.java +++ b/hutool-core/src/main/java/cn/hutool/core/cache/impl/FIFOCache.java @@ -1,4 +1,4 @@ -package cn.hutool.cache.impl; +package cn.hutool.core.cache.impl; import java.util.Iterator; import java.util.LinkedHashMap; diff --git a/hutool-cache/src/main/java/cn/hutool/cache/impl/LFUCache.java b/hutool-core/src/main/java/cn/hutool/core/cache/impl/LFUCache.java similarity index 98% rename from hutool-cache/src/main/java/cn/hutool/cache/impl/LFUCache.java rename to hutool-core/src/main/java/cn/hutool/core/cache/impl/LFUCache.java index b3bcdffc9..996e98060 100644 --- a/hutool-cache/src/main/java/cn/hutool/cache/impl/LFUCache.java +++ b/hutool-core/src/main/java/cn/hutool/core/cache/impl/LFUCache.java @@ -1,4 +1,4 @@ -package cn.hutool.cache.impl; +package cn.hutool.core.cache.impl; import java.util.HashMap; import java.util.Iterator; diff --git a/hutool-cache/src/main/java/cn/hutool/cache/impl/LRUCache.java b/hutool-core/src/main/java/cn/hutool/core/cache/impl/LRUCache.java similarity index 98% rename from hutool-cache/src/main/java/cn/hutool/cache/impl/LRUCache.java rename to hutool-core/src/main/java/cn/hutool/core/cache/impl/LRUCache.java index c95b97f2e..7fb407629 100644 --- a/hutool-cache/src/main/java/cn/hutool/cache/impl/LRUCache.java +++ b/hutool-core/src/main/java/cn/hutool/core/cache/impl/LRUCache.java @@ -1,4 +1,4 @@ -package cn.hutool.cache.impl; +package cn.hutool.core.cache.impl; import cn.hutool.core.map.FixedLinkedHashMap; diff --git a/hutool-cache/src/main/java/cn/hutool/cache/impl/NoCache.java b/hutool-core/src/main/java/cn/hutool/core/cache/impl/NoCache.java similarity index 95% rename from hutool-cache/src/main/java/cn/hutool/cache/impl/NoCache.java rename to hutool-core/src/main/java/cn/hutool/core/cache/impl/NoCache.java index 02b8173e4..a3bdf26be 100644 --- a/hutool-cache/src/main/java/cn/hutool/cache/impl/NoCache.java +++ b/hutool-core/src/main/java/cn/hutool/core/cache/impl/NoCache.java @@ -1,6 +1,6 @@ -package cn.hutool.cache.impl; +package cn.hutool.core.cache.impl; -import cn.hutool.cache.Cache; +import cn.hutool.core.cache.Cache; import cn.hutool.core.lang.func.Func0; import java.util.Iterator; diff --git a/hutool-cache/src/main/java/cn/hutool/cache/impl/ReentrantCache.java b/hutool-core/src/main/java/cn/hutool/core/cache/impl/ReentrantCache.java similarity index 98% rename from hutool-cache/src/main/java/cn/hutool/cache/impl/ReentrantCache.java rename to hutool-core/src/main/java/cn/hutool/core/cache/impl/ReentrantCache.java index e45474040..62337f8ef 100644 --- a/hutool-cache/src/main/java/cn/hutool/cache/impl/ReentrantCache.java +++ b/hutool-core/src/main/java/cn/hutool/core/cache/impl/ReentrantCache.java @@ -1,4 +1,4 @@ -package cn.hutool.cache.impl; +package cn.hutool.core.cache.impl; import cn.hutool.core.collection.CopiedIter; diff --git a/hutool-cache/src/main/java/cn/hutool/cache/impl/StampedCache.java b/hutool-core/src/main/java/cn/hutool/core/cache/impl/StampedCache.java similarity index 98% rename from hutool-cache/src/main/java/cn/hutool/cache/impl/StampedCache.java rename to hutool-core/src/main/java/cn/hutool/core/cache/impl/StampedCache.java index deaec6641..590a6cdd0 100644 --- a/hutool-cache/src/main/java/cn/hutool/cache/impl/StampedCache.java +++ b/hutool-core/src/main/java/cn/hutool/core/cache/impl/StampedCache.java @@ -1,4 +1,4 @@ -package cn.hutool.cache.impl; +package cn.hutool.core.cache.impl; import cn.hutool.core.collection.CopiedIter; diff --git a/hutool-cache/src/main/java/cn/hutool/cache/impl/TimedCache.java b/hutool-core/src/main/java/cn/hutool/core/cache/impl/TimedCache.java similarity index 95% rename from hutool-cache/src/main/java/cn/hutool/cache/impl/TimedCache.java rename to hutool-core/src/main/java/cn/hutool/core/cache/impl/TimedCache.java index dfccd942e..156bf6a19 100644 --- a/hutool-cache/src/main/java/cn/hutool/cache/impl/TimedCache.java +++ b/hutool-core/src/main/java/cn/hutool/core/cache/impl/TimedCache.java @@ -1,6 +1,6 @@ -package cn.hutool.cache.impl; +package cn.hutool.core.cache.impl; -import cn.hutool.cache.GlobalPruneTimer; +import cn.hutool.core.cache.GlobalPruneTimer; import cn.hutool.core.lang.mutable.Mutable; import java.util.HashMap; diff --git a/hutool-cache/src/main/java/cn/hutool/cache/impl/WeakCache.java b/hutool-core/src/main/java/cn/hutool/core/cache/impl/WeakCache.java old mode 100755 new mode 100644 similarity index 94% rename from hutool-cache/src/main/java/cn/hutool/cache/impl/WeakCache.java rename to hutool-core/src/main/java/cn/hutool/core/cache/impl/WeakCache.java index a6fb23690..9ccfecfd6 --- a/hutool-cache/src/main/java/cn/hutool/cache/impl/WeakCache.java +++ b/hutool-core/src/main/java/cn/hutool/core/cache/impl/WeakCache.java @@ -1,6 +1,6 @@ -package cn.hutool.cache.impl; +package cn.hutool.core.cache.impl; -import cn.hutool.cache.CacheListener; +import cn.hutool.core.cache.CacheListener; import cn.hutool.core.lang.Opt; import cn.hutool.core.lang.mutable.Mutable; import cn.hutool.core.map.WeakConcurrentMap; diff --git a/hutool-cache/src/main/java/cn/hutool/cache/impl/package-info.java b/hutool-core/src/main/java/cn/hutool/core/cache/impl/package-info.java similarity index 62% rename from hutool-cache/src/main/java/cn/hutool/cache/impl/package-info.java rename to hutool-core/src/main/java/cn/hutool/core/cache/impl/package-info.java index 698b4d7a3..581c6907a 100644 --- a/hutool-cache/src/main/java/cn/hutool/cache/impl/package-info.java +++ b/hutool-core/src/main/java/cn/hutool/core/cache/impl/package-info.java @@ -4,4 +4,4 @@ * @author looly * */ -package cn.hutool.cache.impl; \ No newline at end of file +package cn.hutool.core.cache.impl; diff --git a/hutool-cache/src/main/java/cn/hutool/cache/package-info.java b/hutool-core/src/main/java/cn/hutool/core/cache/package-info.java similarity index 78% rename from hutool-cache/src/main/java/cn/hutool/cache/package-info.java rename to hutool-core/src/main/java/cn/hutool/core/cache/package-info.java index 4a3d61aa6..8cf24907a 100644 --- a/hutool-cache/src/main/java/cn/hutool/cache/package-info.java +++ b/hutool-core/src/main/java/cn/hutool/core/cache/package-info.java @@ -4,4 +4,4 @@ * @author looly * */ -package cn.hutool.cache; \ No newline at end of file +package cn.hutool.core.cache; diff --git a/hutool-core/src/main/java/cn/hutool/core/util/HexUtil.java b/hutool-core/src/main/java/cn/hutool/core/codec/HexUtil.java similarity index 98% rename from hutool-core/src/main/java/cn/hutool/core/util/HexUtil.java rename to hutool-core/src/main/java/cn/hutool/core/codec/HexUtil.java index a83f29e66..dac841b6b 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/HexUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/codec/HexUtil.java @@ -1,7 +1,10 @@ -package cn.hutool.core.util; +package cn.hutool.core.codec; import cn.hutool.core.codec.Base16Codec; import cn.hutool.core.exceptions.UtilException; +import cn.hutool.core.util.CharUtil; +import cn.hutool.core.util.CharsetUtil; +import cn.hutool.core.util.StrUtil; import java.awt.Color; import java.math.BigInteger; diff --git a/hutool-core/src/main/java/cn/hutool/core/codec/PercentCodec.java b/hutool-core/src/main/java/cn/hutool/core/codec/PercentCodec.java index 88fd210a0..bd6ab48d2 100644 --- a/hutool-core/src/main/java/cn/hutool/core/codec/PercentCodec.java +++ b/hutool-core/src/main/java/cn/hutool/core/codec/PercentCodec.java @@ -2,7 +2,6 @@ package cn.hutool.core.codec; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.CharUtil; -import cn.hutool.core.util.HexUtil; import cn.hutool.core.util.StrUtil; import java.io.ByteArrayOutputStream; diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/Convert.java b/hutool-core/src/main/java/cn/hutool/core/convert/Convert.java index 4d00a1ca8..22f630544 100644 --- a/hutool-core/src/main/java/cn/hutool/core/convert/Convert.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/Convert.java @@ -10,7 +10,7 @@ import cn.hutool.core.util.ByteUtil; import cn.hutool.core.util.CharUtil; import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.util.ClassUtil; -import cn.hutool.core.util.HexUtil; +import cn.hutool.core.codec.HexUtil; import cn.hutool.core.util.StrUtil; import java.lang.reflect.Type; diff --git a/hutool-core/src/main/java/cn/hutool/core/img/gif/package-info.java b/hutool-core/src/main/java/cn/hutool/core/img/gif/package-info.java deleted file mode 100644 index da908de42..000000000 --- a/hutool-core/src/main/java/cn/hutool/core/img/gif/package-info.java +++ /dev/null @@ -1,7 +0,0 @@ -/** - * GIF处理,来自:https://github.com/rtyley/animated-gif-lib-for-java - * - * @author looly - * - */ -package cn.hutool.core.img.gif; \ No newline at end of file diff --git a/hutool-core/src/main/java/cn/hutool/core/io/IoUtil.java b/hutool-core/src/main/java/cn/hutool/core/io/IoUtil.java index b259bbdde..ffc933b43 100644 --- a/hutool-core/src/main/java/cn/hutool/core/io/IoUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/io/IoUtil.java @@ -7,7 +7,7 @@ import cn.hutool.core.io.copy.ReaderWriterCopier; import cn.hutool.core.io.copy.StreamCopier; import cn.hutool.core.lang.Assert; import cn.hutool.core.util.CharsetUtil; -import cn.hutool.core.util.HexUtil; +import cn.hutool.core.codec.HexUtil; import cn.hutool.core.util.StrUtil; import java.io.BufferedInputStream; diff --git a/hutool-core/src/main/java/cn/hutool/core/io/checksum/crc16/CRC16Checksum.java b/hutool-core/src/main/java/cn/hutool/core/io/checksum/crc16/CRC16Checksum.java index 511dccf30..50936ccb2 100644 --- a/hutool-core/src/main/java/cn/hutool/core/io/checksum/crc16/CRC16Checksum.java +++ b/hutool-core/src/main/java/cn/hutool/core/io/checksum/crc16/CRC16Checksum.java @@ -1,6 +1,6 @@ package cn.hutool.core.io.checksum.crc16; -import cn.hutool.core.util.HexUtil; +import cn.hutool.core.codec.HexUtil; import cn.hutool.core.util.StrUtil; import java.io.Serializable; diff --git a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/bitMap/BitMap.java b/hutool-core/src/main/java/cn/hutool/core/map/bitMap/BitMap.java similarity index 92% rename from hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/bitMap/BitMap.java rename to hutool-core/src/main/java/cn/hutool/core/map/bitMap/BitMap.java index b877bf395..5098bf263 100644 --- a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/bitMap/BitMap.java +++ b/hutool-core/src/main/java/cn/hutool/core/map/bitMap/BitMap.java @@ -1,4 +1,4 @@ -package cn.hutool.bloomfilter.bitMap; +package cn.hutool.core.map.bitMap; /** * BitMap接口,用于将某个int或long值映射到一个数组中,从而判定某个值是否存在 @@ -32,4 +32,4 @@ public interface BitMap{ * @param i 值 */ void remove(long i); -} \ No newline at end of file +} diff --git a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/bitMap/IntMap.java b/hutool-core/src/main/java/cn/hutool/core/map/bitMap/IntMap.java similarity index 96% rename from hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/bitMap/IntMap.java rename to hutool-core/src/main/java/cn/hutool/core/map/bitMap/IntMap.java index 4bda77f63..01122f5b4 100644 --- a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/bitMap/IntMap.java +++ b/hutool-core/src/main/java/cn/hutool/core/map/bitMap/IntMap.java @@ -1,4 +1,4 @@ -package cn.hutool.bloomfilter.bitMap; +package cn.hutool.core.map.bitMap; import java.io.Serializable; diff --git a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/bitMap/LongMap.java b/hutool-core/src/main/java/cn/hutool/core/map/bitMap/LongMap.java similarity index 96% rename from hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/bitMap/LongMap.java rename to hutool-core/src/main/java/cn/hutool/core/map/bitMap/LongMap.java index 7c44325af..326df5e0e 100644 --- a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/bitMap/LongMap.java +++ b/hutool-core/src/main/java/cn/hutool/core/map/bitMap/LongMap.java @@ -1,4 +1,4 @@ -package cn.hutool.bloomfilter.bitMap; +package cn.hutool.core.map.bitMap; import java.io.Serializable; diff --git a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/bitMap/package-info.java b/hutool-core/src/main/java/cn/hutool/core/map/bitMap/package-info.java similarity index 55% rename from hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/bitMap/package-info.java rename to hutool-core/src/main/java/cn/hutool/core/map/bitMap/package-info.java index 37d547426..6b9ca7659 100644 --- a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/bitMap/package-info.java +++ b/hutool-core/src/main/java/cn/hutool/core/map/bitMap/package-info.java @@ -4,4 +4,4 @@ * @author looly * */ -package cn.hutool.bloomfilter.bitMap; \ No newline at end of file +package cn.hutool.core.map.bitMap; diff --git a/hutool-core/src/main/java/cn/hutool/core/net/URLEncoder.java b/hutool-core/src/main/java/cn/hutool/core/net/URLEncoder.java index ee519ea55..0640dba5a 100644 --- a/hutool-core/src/main/java/cn/hutool/core/net/URLEncoder.java +++ b/hutool-core/src/main/java/cn/hutool/core/net/URLEncoder.java @@ -1,7 +1,7 @@ package cn.hutool.core.net; import cn.hutool.core.util.CharUtil; -import cn.hutool.core.util.HexUtil; +import cn.hutool.core.codec.HexUtil; import cn.hutool.core.util.StrUtil; import java.io.ByteArrayOutputStream; diff --git a/hutool-core/src/main/java/cn/hutool/core/text/UnicodeUtil.java b/hutool-core/src/main/java/cn/hutool/core/text/UnicodeUtil.java index e0789e66b..d62ee3b37 100644 --- a/hutool-core/src/main/java/cn/hutool/core/text/UnicodeUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/UnicodeUtil.java @@ -1,7 +1,7 @@ package cn.hutool.core.text; import cn.hutool.core.util.CharUtil; -import cn.hutool.core.util.HexUtil; +import cn.hutool.core.codec.HexUtil; import cn.hutool.core.util.StrUtil; /** diff --git a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/BitMapBloomFilter.java b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/BitMapBloomFilter.java similarity index 82% rename from hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/BitMapBloomFilter.java rename to hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/BitMapBloomFilter.java index b1da492d6..3effa2e68 100644 --- a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/BitMapBloomFilter.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/BitMapBloomFilter.java @@ -1,10 +1,10 @@ -package cn.hutool.bloomfilter; +package cn.hutool.core.text.bloomfilter; -import cn.hutool.bloomfilter.filter.DefaultFilter; -import cn.hutool.bloomfilter.filter.ELFFilter; -import cn.hutool.bloomfilter.filter.JSFilter; -import cn.hutool.bloomfilter.filter.PJWFilter; -import cn.hutool.bloomfilter.filter.SDBMFilter; +import cn.hutool.core.text.bloomfilter.filter.DefaultFilter; +import cn.hutool.core.text.bloomfilter.filter.ELFFilter; +import cn.hutool.core.text.bloomfilter.filter.JSFilter; +import cn.hutool.core.text.bloomfilter.filter.PJWFilter; +import cn.hutool.core.text.bloomfilter.filter.SDBMFilter; import cn.hutool.core.util.NumberUtil; /** @@ -79,4 +79,4 @@ public class BitMapBloomFilter implements BloomFilter { } return true; } -} \ No newline at end of file +} diff --git a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/BitSetBloomFilter.java b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/BitSetBloomFilter.java similarity index 98% rename from hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/BitSetBloomFilter.java rename to hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/BitSetBloomFilter.java index 318d25dc5..632dcd6e3 100644 --- a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/BitSetBloomFilter.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/BitSetBloomFilter.java @@ -1,4 +1,4 @@ -package cn.hutool.bloomfilter; +package cn.hutool.core.text.bloomfilter; import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.IoUtil; diff --git a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/BloomFilter.java b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/BloomFilter.java similarity index 96% rename from hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/BloomFilter.java rename to hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/BloomFilter.java index 9ab8278b3..bbfa74a77 100644 --- a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/BloomFilter.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/BloomFilter.java @@ -1,4 +1,4 @@ -package cn.hutool.bloomfilter; +package cn.hutool.core.text.bloomfilter; import java.io.Serializable; diff --git a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/BloomFilterUtil.java b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/BloomFilterUtil.java similarity index 95% rename from hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/BloomFilterUtil.java rename to hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/BloomFilterUtil.java index 6ba79067e..0e3cb8f19 100644 --- a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/BloomFilterUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/BloomFilterUtil.java @@ -1,4 +1,4 @@ -package cn.hutool.bloomfilter; +package cn.hutool.core.text.bloomfilter; /** * 布隆过滤器工具 diff --git a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/AbstractFilter.java b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/AbstractFilter.java similarity index 86% rename from hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/AbstractFilter.java rename to hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/AbstractFilter.java index bc37e729d..205ef06a5 100644 --- a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/AbstractFilter.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/AbstractFilter.java @@ -1,9 +1,9 @@ -package cn.hutool.bloomfilter.filter; +package cn.hutool.core.text.bloomfilter.filter; -import cn.hutool.bloomfilter.BloomFilter; -import cn.hutool.bloomfilter.bitMap.BitMap; -import cn.hutool.bloomfilter.bitMap.IntMap; -import cn.hutool.bloomfilter.bitMap.LongMap; +import cn.hutool.core.map.bitMap.BitMap; +import cn.hutool.core.map.bitMap.IntMap; +import cn.hutool.core.map.bitMap.LongMap; +import cn.hutool.core.text.bloomfilter.BloomFilter; /** * 抽象Bloom过滤器 diff --git a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/DefaultFilter.java b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/DefaultFilter.java similarity index 89% rename from hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/DefaultFilter.java rename to hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/DefaultFilter.java index 2f1ef0309..a42509335 100644 --- a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/DefaultFilter.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/DefaultFilter.java @@ -1,4 +1,4 @@ -package cn.hutool.bloomfilter.filter; +package cn.hutool.core.text.bloomfilter.filter; import cn.hutool.core.util.HashUtil; diff --git a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/ELFFilter.java b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/ELFFilter.java similarity index 87% rename from hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/ELFFilter.java rename to hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/ELFFilter.java index 983040c3e..b72537a23 100644 --- a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/ELFFilter.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/ELFFilter.java @@ -1,4 +1,4 @@ -package cn.hutool.bloomfilter.filter; +package cn.hutool.core.text.bloomfilter.filter; import cn.hutool.core.util.HashUtil; diff --git a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/FNVFilter.java b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/FNVFilter.java similarity index 86% rename from hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/FNVFilter.java rename to hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/FNVFilter.java index 7e71e3ce3..7464ae4a1 100644 --- a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/FNVFilter.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/FNVFilter.java @@ -1,4 +1,4 @@ -package cn.hutool.bloomfilter.filter; +package cn.hutool.core.text.bloomfilter.filter; import cn.hutool.core.util.HashUtil; diff --git a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/FuncFilter.java b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/FuncFilter.java similarity index 89% rename from hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/FuncFilter.java rename to hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/FuncFilter.java index 7830eebca..506870138 100644 --- a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/FuncFilter.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/FuncFilter.java @@ -1,6 +1,6 @@ -package cn.hutool.bloomfilter.filter; +package cn.hutool.core.text.bloomfilter.filter; -import cn.hutool.bloomfilter.BloomFilter; +import cn.hutool.core.text.bloomfilter.BloomFilter; import java.util.function.Function; diff --git a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/HfFilter.java b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/HfFilter.java similarity index 86% rename from hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/HfFilter.java rename to hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/HfFilter.java index 19158406b..4a5023935 100644 --- a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/HfFilter.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/HfFilter.java @@ -1,4 +1,4 @@ -package cn.hutool.bloomfilter.filter; +package cn.hutool.core.text.bloomfilter.filter; import cn.hutool.core.util.HashUtil; diff --git a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/HfIpFilter.java b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/HfIpFilter.java similarity index 87% rename from hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/HfIpFilter.java rename to hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/HfIpFilter.java index e8f64cb4e..0292da096 100644 --- a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/HfIpFilter.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/HfIpFilter.java @@ -1,4 +1,4 @@ -package cn.hutool.bloomfilter.filter; +package cn.hutool.core.text.bloomfilter.filter; import cn.hutool.core.util.HashUtil; diff --git a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/JSFilter.java b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/JSFilter.java similarity index 86% rename from hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/JSFilter.java rename to hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/JSFilter.java index 42fd83866..2a141dfbe 100644 --- a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/JSFilter.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/JSFilter.java @@ -1,4 +1,4 @@ -package cn.hutool.bloomfilter.filter; +package cn.hutool.core.text.bloomfilter.filter; import cn.hutool.core.util.HashUtil; diff --git a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/PJWFilter.java b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/PJWFilter.java similarity index 86% rename from hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/PJWFilter.java rename to hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/PJWFilter.java index f9788d481..127cd404c 100644 --- a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/PJWFilter.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/PJWFilter.java @@ -1,4 +1,4 @@ -package cn.hutool.bloomfilter.filter; +package cn.hutool.core.text.bloomfilter.filter; import cn.hutool.core.util.HashUtil; diff --git a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/RSFilter.java b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/RSFilter.java similarity index 86% rename from hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/RSFilter.java rename to hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/RSFilter.java index 5ce961e3b..113ba9fbc 100644 --- a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/RSFilter.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/RSFilter.java @@ -1,4 +1,4 @@ -package cn.hutool.bloomfilter.filter; +package cn.hutool.core.text.bloomfilter.filter; import cn.hutool.core.util.HashUtil; diff --git a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/SDBMFilter.java b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/SDBMFilter.java similarity index 87% rename from hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/SDBMFilter.java rename to hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/SDBMFilter.java index 6cd258af1..c96c1d031 100644 --- a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/SDBMFilter.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/SDBMFilter.java @@ -1,4 +1,4 @@ -package cn.hutool.bloomfilter.filter; +package cn.hutool.core.text.bloomfilter.filter; import cn.hutool.core.util.HashUtil; diff --git a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/TianlFilter.java b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/TianlFilter.java similarity index 87% rename from hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/TianlFilter.java rename to hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/TianlFilter.java index 7ea98e6de..df8dff5ca 100644 --- a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/TianlFilter.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/TianlFilter.java @@ -1,4 +1,4 @@ -package cn.hutool.bloomfilter.filter; +package cn.hutool.core.text.bloomfilter.filter; import cn.hutool.core.util.HashUtil; diff --git a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/package-info.java b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/package-info.java similarity index 58% rename from hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/package-info.java rename to hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/package-info.java index 157177d8e..aa84b27d7 100644 --- a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/filter/package-info.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/filter/package-info.java @@ -4,4 +4,4 @@ * @author looly * */ -package cn.hutool.bloomfilter.filter; \ No newline at end of file +package cn.hutool.core.text.bloomfilter.filter; diff --git a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/package-info.java b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/package-info.java similarity index 67% rename from hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/package-info.java rename to hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/package-info.java index 1eec3a1a7..4805f6696 100644 --- a/hutool-bloomFilter/src/main/java/cn/hutool/bloomfilter/package-info.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/bloomfilter/package-info.java @@ -4,4 +4,4 @@ * @author looly * */ -package cn.hutool.bloomfilter; \ No newline at end of file +package cn.hutool.core.text.bloomfilter; diff --git a/hutool-dfa/src/main/java/cn/hutool/dfa/FoundWord.java b/hutool-core/src/main/java/cn/hutool/core/text/dfa/FoundWord.java similarity index 97% rename from hutool-dfa/src/main/java/cn/hutool/dfa/FoundWord.java rename to hutool-core/src/main/java/cn/hutool/core/text/dfa/FoundWord.java index 6d68a6bd4..8876c0530 100644 --- a/hutool-dfa/src/main/java/cn/hutool/dfa/FoundWord.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/dfa/FoundWord.java @@ -1,4 +1,4 @@ -package cn.hutool.dfa; +package cn.hutool.core.text.dfa; import cn.hutool.core.lang.DefaultSegment; diff --git a/hutool-dfa/src/main/java/cn/hutool/dfa/SensitiveProcessor.java b/hutool-core/src/main/java/cn/hutool/core/text/dfa/SensitiveProcessor.java similarity index 94% rename from hutool-dfa/src/main/java/cn/hutool/dfa/SensitiveProcessor.java rename to hutool-core/src/main/java/cn/hutool/core/text/dfa/SensitiveProcessor.java index 34c0128b8..2d0c0f1bb 100644 --- a/hutool-dfa/src/main/java/cn/hutool/dfa/SensitiveProcessor.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/dfa/SensitiveProcessor.java @@ -1,4 +1,4 @@ -package cn.hutool.dfa; +package cn.hutool.core.text.dfa; /** * @author 肖海斌 diff --git a/hutool-dfa/src/main/java/cn/hutool/dfa/SensitiveUtil.java b/hutool-core/src/main/java/cn/hutool/core/text/dfa/SensitiveUtil.java similarity index 70% rename from hutool-dfa/src/main/java/cn/hutool/dfa/SensitiveUtil.java rename to hutool-core/src/main/java/cn/hutool/core/text/dfa/SensitiveUtil.java index bcf81a784..e59e4b9fa 100644 --- a/hutool-dfa/src/main/java/cn/hutool/dfa/SensitiveUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/dfa/SensitiveUtil.java @@ -1,10 +1,9 @@ -package cn.hutool.dfa; +package cn.hutool.core.text.dfa; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Filter; import cn.hutool.core.thread.ThreadUtil; import cn.hutool.core.util.StrUtil; -import cn.hutool.json.JSONUtil; import java.util.Collection; import java.util.HashMap; @@ -102,16 +101,6 @@ public final class SensitiveUtil { return sensitiveTree.isMatch(text); } - /** - * 是否包含敏感词 - * - * @param obj bean,会被转为JSON字符串 - * @return 是否包含 - */ - public static boolean containsSensitive(Object obj) { - return sensitiveTree.isMatch(JSONUtil.toJsonStr(obj)); - } - /** * 查找敏感词,返回找到的第一个敏感词 * @@ -123,16 +112,6 @@ public final class SensitiveUtil { return sensitiveTree.matchWord(text); } - /** - * 查找敏感词,返回找到的第一个敏感词 - * - * @param obj bean,会被转为JSON字符串 - * @return 敏感词 - */ - public static FoundWord getFoundFirstSensitive(Object obj) { - return sensitiveTree.matchWord(JSONUtil.toJsonStr(obj)); - } - /** * 查找敏感词,返回找到的所有敏感词 * @@ -158,47 +137,6 @@ public final class SensitiveUtil { return sensitiveTree.matchAllWords(text, -1, isDensityMatch, isGreedMatch); } - /** - * 查找敏感词,返回找到的所有敏感词 - * - * @param bean 对象,会被转为JSON - * @return 敏感词 - * @since 5.5.3 - */ - public static List getFoundAllSensitive(Object bean) { - return sensitiveTree.matchAllWords(JSONUtil.toJsonStr(bean)); - } - - /** - * 查找敏感词,返回找到的所有敏感词
- * 密集匹配原则:假如关键词有 ab,b,文本是abab,将匹配 [ab,b,ab]
- * 贪婪匹配(最长匹配)原则:假如关键字a,ab,最长匹配将匹配[a, ab] - * - * @param bean 对象,会被转为JSON - * @param isDensityMatch 是否使用密集匹配原则 - * @param isGreedMatch 是否使用贪婪匹配(最长匹配)原则 - * @return 敏感词 - * @since 5.5.3 - */ - public static List getFoundAllSensitive(Object bean, boolean isDensityMatch, boolean isGreedMatch) { - return getFoundAllSensitive(JSONUtil.toJsonStr(bean), isDensityMatch, isGreedMatch); - } - - /** - * 敏感词过滤 - * - * @param bean 对象,会被转为JSON - * @param isGreedMatch 贪婪匹配(最长匹配)原则:假如关键字a,ab,最长匹配将匹配[a, ab] - * @param sensitiveProcessor 敏感词处理器,默认按匹配内容的字符数替换成* - * @param bean的class类型 - * @return 敏感词过滤处理后的bean对象 - */ - public static T sensitiveFilter(T bean, boolean isGreedMatch, SensitiveProcessor sensitiveProcessor) { - String jsonText = JSONUtil.toJsonStr(bean); - @SuppressWarnings("unchecked") final Class c = (Class) bean.getClass(); - return JSONUtil.toBean(sensitiveFilter(jsonText, isGreedMatch, sensitiveProcessor), c); - } - /** * 处理过滤文本中的敏感词,默认替换成* * diff --git a/hutool-dfa/src/main/java/cn/hutool/dfa/StopChar.java b/hutool-core/src/main/java/cn/hutool/core/text/dfa/StopChar.java similarity index 98% rename from hutool-dfa/src/main/java/cn/hutool/dfa/StopChar.java rename to hutool-core/src/main/java/cn/hutool/core/text/dfa/StopChar.java index 9aaa7b6a9..9aadb7659 100644 --- a/hutool-dfa/src/main/java/cn/hutool/dfa/StopChar.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/dfa/StopChar.java @@ -1,4 +1,4 @@ -package cn.hutool.dfa; +package cn.hutool.core.text.dfa; import java.util.Set; @@ -6,7 +6,7 @@ import cn.hutool.core.collection.CollUtil; /** * 过滤词及一些简单处理 - * + * * @author Looly */ public class StopChar { @@ -31,7 +31,7 @@ public class StopChar { /** * 判断指定的词是否是不处理的词。 如果参数为空,则返回true,因为空也属于不处理的字符。 - * + * * @param ch 指定的词 * @return 是否是不处理的词 */ @@ -41,7 +41,7 @@ public class StopChar { /** * 是否为合法字符(待处理字符) - * + * * @param ch 指定的词 * @return 是否为合法字符(待处理字符) */ diff --git a/hutool-dfa/src/main/java/cn/hutool/dfa/WordTree.java b/hutool-core/src/main/java/cn/hutool/core/text/dfa/WordTree.java similarity index 99% rename from hutool-dfa/src/main/java/cn/hutool/dfa/WordTree.java rename to hutool-core/src/main/java/cn/hutool/core/text/dfa/WordTree.java index b52133be7..4e71a8d57 100644 --- a/hutool-dfa/src/main/java/cn/hutool/dfa/WordTree.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/dfa/WordTree.java @@ -1,4 +1,4 @@ -package cn.hutool.dfa; +package cn.hutool.core.text.dfa; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.lang.Filter; diff --git a/hutool-dfa/src/main/java/cn/hutool/dfa/package-info.java b/hutool-core/src/main/java/cn/hutool/core/text/dfa/package-info.java similarity index 91% rename from hutool-dfa/src/main/java/cn/hutool/dfa/package-info.java rename to hutool-core/src/main/java/cn/hutool/core/text/dfa/package-info.java index 24f68dbd5..749e71c98 100644 --- a/hutool-dfa/src/main/java/cn/hutool/dfa/package-info.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/dfa/package-info.java @@ -2,8 +2,8 @@ * DFA全称为:Deterministic Finite Automaton,即确定有穷自动机。
* 解释起来原理其实也不难,就是用所有关键字构造一棵树,然后用正文遍历这棵树,遍历到叶子节点即表示文章中存在这个关键字。
* 我们暂且忽略构建关键词树的时间,每次查找正文只需要O(n)复杂度就可以搞定。
- * + * * @author looly * */ -package cn.hutool.dfa; \ No newline at end of file +package cn.hutool.core.text.dfa; diff --git a/hutool-core/src/main/java/cn/hutool/core/util/EscapeUtil.java b/hutool-core/src/main/java/cn/hutool/core/text/escape/EscapeUtil.java similarity index 95% rename from hutool-core/src/main/java/cn/hutool/core/util/EscapeUtil.java rename to hutool-core/src/main/java/cn/hutool/core/text/escape/EscapeUtil.java index f2b3dee92..4e19c3b4d 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/EscapeUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/text/escape/EscapeUtil.java @@ -1,16 +1,12 @@ -package cn.hutool.core.util; +package cn.hutool.core.text.escape; import cn.hutool.core.lang.Filter; -import cn.hutool.core.text.escape.Html4Escape; -import cn.hutool.core.text.escape.Html4Unescape; -import cn.hutool.core.text.escape.XmlEscape; -import cn.hutool.core.text.escape.XmlUnescape; +import cn.hutool.core.util.StrUtil; /** * 转义和反转义工具类Escape / Unescape
* escape采用ISO Latin字符集对指定的字符串进行编码。
* 所有的空格符、标点符号、特殊字符以及其他非ASCII字符都将被转化成%xx格式的字符编码(xx等于该字符在字符集表里面的编码的16进制数字)。 - * TODO 6.x迁移到core.text.escape包下 * * @author xiaoleilu */ diff --git a/hutool-script/src/main/java/cn/hutool/script/ScriptUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/ScriptUtil.java old mode 100755 new mode 100644 similarity index 83% rename from hutool-script/src/main/java/cn/hutool/script/ScriptUtil.java rename to hutool-core/src/main/java/cn/hutool/core/util/ScriptUtil.java index de674545c..982b2be12 --- a/hutool-script/src/main/java/cn/hutool/script/ScriptUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/ScriptUtil.java @@ -1,7 +1,7 @@ -package cn.hutool.script; +package cn.hutool.core.util; +import cn.hutool.core.exceptions.UtilException; import cn.hutool.core.map.WeakConcurrentMap; -import cn.hutool.core.util.StrUtil; import javax.script.Bindings; import javax.script.Compilable; @@ -53,15 +53,6 @@ public class ScriptUtil { return engine; } - /** - * 获得非单例的 Javascript引擎 {@link JavaScriptEngine} - * - * @return {@link JavaScriptEngine} - */ - public static JavaScriptEngine getJavaScriptEngine() { - return new JavaScriptEngine(); - } - /** * 获得单例的JavaScript引擎 * @@ -160,23 +151,23 @@ public class ScriptUtil { * * @param script 脚本内容 * @return 执行结果 - * @throws ScriptRuntimeException 脚本异常 + * @throws UtilException 脚本异常 * @since 5.3.6 */ - public static Invocable evalInvocable(String script) throws ScriptRuntimeException { + public static Invocable evalInvocable(String script) throws UtilException { final ScriptEngine jsEngine = getJsEngine(); final Object eval; try { eval = jsEngine.eval(script); } catch (ScriptException e) { - throw new ScriptRuntimeException(e); + throw new UtilException(e); } if(eval instanceof Invocable){ return (Invocable)eval; } else if(jsEngine instanceof Invocable){ return (Invocable)jsEngine; } - throw new ScriptRuntimeException("Script is not invocable !"); + throw new UtilException("Script is not invocable !"); } /** @@ -184,14 +175,14 @@ public class ScriptUtil { * * @param script 脚本内容 * @return 执行结果 - * @throws ScriptRuntimeException 脚本异常 + * @throws UtilException 脚本异常 * @since 3.2.0 */ - public static Object eval(String script) throws ScriptRuntimeException { + public static Object eval(String script) throws UtilException { try { return getJsEngine().eval(script); } catch (ScriptException e) { - throw new ScriptRuntimeException(e); + throw new UtilException(e); } } @@ -201,14 +192,14 @@ public class ScriptUtil { * @param script 脚本内容 * @param context 脚本上下文 * @return 执行结果 - * @throws ScriptRuntimeException 脚本异常 + * @throws UtilException 脚本异常 * @since 3.2.0 */ - public static Object eval(String script, ScriptContext context) throws ScriptRuntimeException { + public static Object eval(String script, ScriptContext context) throws UtilException { try { return getJsEngine().eval(script, context); } catch (ScriptException e) { - throw new ScriptRuntimeException(e); + throw new UtilException(e); } } @@ -218,14 +209,14 @@ public class ScriptUtil { * @param script 脚本内容 * @param bindings 绑定的参数 * @return 执行结果 - * @throws ScriptRuntimeException 脚本异常 + * @throws UtilException 脚本异常 * @since 3.2.0 */ - public static Object eval(String script, Bindings bindings) throws ScriptRuntimeException { + public static Object eval(String script, Bindings bindings) throws UtilException { try { return getJsEngine().eval(script, bindings); } catch (ScriptException e) { - throw new ScriptRuntimeException(e); + throw new UtilException(e); } } @@ -243,7 +234,7 @@ public class ScriptUtil { try { return eval.invokeFunction(func, args); } catch (ScriptException | NoSuchMethodException e) { - throw new ScriptRuntimeException(e); + throw new UtilException(e); } } @@ -252,14 +243,14 @@ public class ScriptUtil { * * @param script 脚本内容 * @return {@link CompiledScript} - * @throws ScriptRuntimeException 脚本异常 + * @throws UtilException 脚本异常 * @since 3.2.0 */ - public static CompiledScript compile(String script) throws ScriptRuntimeException { + public static CompiledScript compile(String script) throws UtilException { try { return compile(getJsEngine(), script); } catch (ScriptException e) { - throw new ScriptRuntimeException(e); + throw new UtilException(e); } } diff --git a/hutool-core/src/main/java/cn/hutool/core/util/XmlUtil.java b/hutool-core/src/main/java/cn/hutool/core/util/XmlUtil.java index a6ccc3e06..d0dbe0221 100644 --- a/hutool-core/src/main/java/cn/hutool/core/util/XmlUtil.java +++ b/hutool-core/src/main/java/cn/hutool/core/util/XmlUtil.java @@ -9,6 +9,7 @@ import cn.hutool.core.io.IoUtil; import cn.hutool.core.lang.Assert; import cn.hutool.core.map.BiMap; import cn.hutool.core.map.MapUtil; +import cn.hutool.core.text.escape.EscapeUtil; import org.w3c.dom.Document; import org.w3c.dom.Element; import org.w3c.dom.NamedNodeMap; diff --git a/hutool-cache/src/test/java/cn/hutool/cache/CacheConcurrentTest.java b/hutool-core/src/test/java/cn/hutool/core/cache/CacheConcurrentTest.java similarity index 94% rename from hutool-cache/src/test/java/cn/hutool/cache/CacheConcurrentTest.java rename to hutool-core/src/test/java/cn/hutool/core/cache/CacheConcurrentTest.java index 22445b28b..37dc0ec27 100644 --- a/hutool-cache/src/test/java/cn/hutool/cache/CacheConcurrentTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/cache/CacheConcurrentTest.java @@ -1,8 +1,8 @@ -package cn.hutool.cache; +package cn.hutool.core.cache; -import cn.hutool.cache.impl.FIFOCache; -import cn.hutool.cache.impl.LRUCache; -import cn.hutool.cache.impl.WeakCache; +import cn.hutool.core.cache.impl.FIFOCache; +import cn.hutool.core.cache.impl.LRUCache; +import cn.hutool.core.cache.impl.WeakCache; import cn.hutool.core.lang.Console; import cn.hutool.core.thread.ConcurrencyTester; import cn.hutool.core.thread.ThreadUtil; diff --git a/hutool-cache/src/test/java/cn/hutool/cache/CacheTest.java b/hutool-core/src/test/java/cn/hutool/core/cache/CacheTest.java similarity index 98% rename from hutool-cache/src/test/java/cn/hutool/cache/CacheTest.java rename to hutool-core/src/test/java/cn/hutool/core/cache/CacheTest.java index 1509cd56d..b3624f2ef 100644 --- a/hutool-cache/src/test/java/cn/hutool/cache/CacheTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/cache/CacheTest.java @@ -1,6 +1,6 @@ -package cn.hutool.cache; +package cn.hutool.core.cache; -import cn.hutool.cache.impl.TimedCache; +import cn.hutool.core.cache.impl.TimedCache; import cn.hutool.core.date.DateUnit; import cn.hutool.core.thread.ThreadUtil; import cn.hutool.core.util.RandomUtil; diff --git a/hutool-cache/src/test/java/cn/hutool/cache/FileCacheTest.java b/hutool-core/src/test/java/cn/hutool/core/cache/FileCacheTest.java similarity index 77% rename from hutool-cache/src/test/java/cn/hutool/cache/FileCacheTest.java rename to hutool-core/src/test/java/cn/hutool/core/cache/FileCacheTest.java index eaadb83db..d21c914d0 100644 --- a/hutool-cache/src/test/java/cn/hutool/cache/FileCacheTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/cache/FileCacheTest.java @@ -1,9 +1,9 @@ -package cn.hutool.cache; +package cn.hutool.core.cache; import org.junit.Assert; import org.junit.Test; -import cn.hutool.cache.file.LFUFileCache; +import cn.hutool.core.cache.file.LFUFileCache; /** * 文件缓存单元测试 diff --git a/hutool-cache/src/test/java/cn/hutool/cache/LRUCacheTest.java b/hutool-core/src/test/java/cn/hutool/core/cache/LRUCacheTest.java similarity index 90% rename from hutool-cache/src/test/java/cn/hutool/cache/LRUCacheTest.java rename to hutool-core/src/test/java/cn/hutool/core/cache/LRUCacheTest.java index fdc6ea4be..8f5b20ca3 100644 --- a/hutool-cache/src/test/java/cn/hutool/cache/LRUCacheTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/cache/LRUCacheTest.java @@ -1,6 +1,6 @@ -package cn.hutool.cache; +package cn.hutool.core.cache; -import cn.hutool.cache.impl.LRUCache; +import cn.hutool.core.cache.impl.LRUCache; import cn.hutool.core.thread.ThreadUtil; import cn.hutool.core.util.RandomUtil; import org.junit.Assert; @@ -10,7 +10,7 @@ import org.junit.Test; import java.util.concurrent.CountDownLatch; /** - * 见:https://github.com/dromara/hutool/issues/1895
+ * 见:https://github.com/dromara/hutool/issues/1895
* 并发问题测试,在5.7.15前,LRUCache存在并发问题,多线程get后,map结构变更,导致null的位置不确定, * 并可能引起死锁。 */ diff --git a/hutool-cache/src/test/java/cn/hutool/cache/WeakCacheTest.java b/hutool-core/src/test/java/cn/hutool/core/cache/WeakCacheTest.java old mode 100755 new mode 100644 similarity index 93% rename from hutool-cache/src/test/java/cn/hutool/cache/WeakCacheTest.java rename to hutool-core/src/test/java/cn/hutool/core/cache/WeakCacheTest.java index f61ed77b7..ff3b8f65d --- a/hutool-cache/src/test/java/cn/hutool/cache/WeakCacheTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/cache/WeakCacheTest.java @@ -1,6 +1,6 @@ -package cn.hutool.cache; +package cn.hutool.core.cache; -import cn.hutool.cache.impl.WeakCache; +import cn.hutool.core.cache.impl.WeakCache; import cn.hutool.core.lang.Console; import org.junit.Assert; import org.junit.Ignore; diff --git a/hutool-core/src/test/java/cn/hutool/core/convert/ConvertTest.java b/hutool-core/src/test/java/cn/hutool/core/convert/ConvertTest.java index 18cd78b14..aa4ad0eab 100644 --- a/hutool-core/src/test/java/cn/hutool/core/convert/ConvertTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/convert/ConvertTest.java @@ -6,7 +6,7 @@ import cn.hutool.core.date.DateUtil; import cn.hutool.core.lang.TypeReference; import cn.hutool.core.map.MapUtil; import cn.hutool.core.util.ByteUtil; -import cn.hutool.core.util.HexUtil; +import cn.hutool.core.codec.HexUtil; import lombok.AllArgsConstructor; import lombok.Data; import lombok.Getter; diff --git a/hutool-core/src/test/java/cn/hutool/core/io/checksum/CrcTest.java b/hutool-core/src/test/java/cn/hutool/core/io/checksum/CrcTest.java index ccdcc6aba..cf5deeced 100644 --- a/hutool-core/src/test/java/cn/hutool/core/io/checksum/CrcTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/io/checksum/CrcTest.java @@ -1,7 +1,7 @@ package cn.hutool.core.io.checksum; import cn.hutool.core.io.checksum.crc16.CRC16XModem; -import cn.hutool.core.util.HexUtil; +import cn.hutool.core.codec.HexUtil; import cn.hutool.core.util.StrUtil; import org.junit.Assert; import org.junit.Test; diff --git a/hutool-core/src/test/java/cn/hutool/core/lang/hash/MetroHashTest.java b/hutool-core/src/test/java/cn/hutool/core/lang/hash/MetroHashTest.java index 5577a1bb5..1d75bbe2c 100644 --- a/hutool-core/src/test/java/cn/hutool/core/lang/hash/MetroHashTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/lang/hash/MetroHashTest.java @@ -2,7 +2,7 @@ package cn.hutool.core.lang.hash; import cn.hutool.core.util.CharsetUtil; -import cn.hutool.core.util.HexUtil; +import cn.hutool.core.codec.HexUtil; import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; import org.junit.Assert; diff --git a/hutool-bloomFilter/src/test/java/cn/hutool/bloomfilter/BitMapBloomFilterTest.java b/hutool-core/src/test/java/cn/hutool/core/text/bloomfilter/BitMapBloomFilterTest.java similarity index 76% rename from hutool-bloomFilter/src/test/java/cn/hutool/bloomfilter/BitMapBloomFilterTest.java rename to hutool-core/src/test/java/cn/hutool/core/text/bloomfilter/BitMapBloomFilterTest.java index ad104d632..2a984cdaa 100644 --- a/hutool-bloomFilter/src/test/java/cn/hutool/bloomfilter/BitMapBloomFilterTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/text/bloomfilter/BitMapBloomFilterTest.java @@ -1,12 +1,11 @@ -package cn.hutool.bloomfilter; +package cn.hutool.core.text.bloomfilter; +import cn.hutool.core.map.bitMap.IntMap; +import cn.hutool.core.map.bitMap.LongMap; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; -import cn.hutool.bloomfilter.bitMap.IntMap; -import cn.hutool.bloomfilter.bitMap.LongMap; - public class BitMapBloomFilterTest { @Test @@ -23,10 +22,10 @@ public class BitMapBloomFilterTest { @Test @Ignore - public void testIntMap(){ + public void testIntMap() { IntMap intMap = new IntMap(); - for (int i = 0 ; i < 32; i++) { + for (int i = 0; i < 32; i++) { intMap.add(i); } intMap.remove(30); @@ -39,10 +38,10 @@ public class BitMapBloomFilterTest { @Test @Ignore - public void testLongMap(){ + public void testLongMap() { LongMap longMap = new LongMap(); - for (int i = 0 ; i < 64; i++) { + for (int i = 0; i < 64; i++) { longMap.add(i); } longMap.remove(30); diff --git a/hutool-dfa/src/test/java/cn/hutool/dfa/DfaTest.java b/hutool-core/src/test/java/cn/hutool/core/text/dfa/DfaTest.java similarity index 99% rename from hutool-dfa/src/test/java/cn/hutool/dfa/DfaTest.java rename to hutool-core/src/test/java/cn/hutool/core/text/dfa/DfaTest.java index f185fac31..a21b1dd17 100644 --- a/hutool-dfa/src/test/java/cn/hutool/dfa/DfaTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/text/dfa/DfaTest.java @@ -1,4 +1,4 @@ -package cn.hutool.dfa; +package cn.hutool.core.text.dfa; import cn.hutool.core.collection.CollUtil; import org.junit.Assert; diff --git a/hutool-dfa/src/test/java/cn/hutool/dfa/SensitiveUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/text/dfa/SensitiveUtilTest.java similarity index 83% rename from hutool-dfa/src/test/java/cn/hutool/dfa/SensitiveUtilTest.java rename to hutool-core/src/test/java/cn/hutool/core/text/dfa/SensitiveUtilTest.java index 5bbbe9f23..f1b76b8d2 100644 --- a/hutool-dfa/src/test/java/cn/hutool/dfa/SensitiveUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/text/dfa/SensitiveUtilTest.java @@ -1,4 +1,4 @@ -package cn.hutool.dfa; +package cn.hutool.core.text.dfa; import cn.hutool.core.collection.ListUtil; import lombok.Data; @@ -22,8 +22,8 @@ public class SensitiveUtilTest { bean.setStr("我有一颗$大土^豆,刚出锅的"); bean.setNum(100); SensitiveUtil.init(wordList); - bean = SensitiveUtil.sensitiveFilter(bean, true, null); - Assert.assertEquals(bean.getStr(), "我有一颗$****,***的"); + String beanStr = SensitiveUtil.sensitiveFilter(bean.getStr(), true, null); + Assert.assertEquals("我有一颗$****,***的", beanStr); } @Data diff --git a/hutool-core/src/test/java/cn/hutool/core/util/EscapeUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/util/EscapeUtilTest.java index 23e1c7fc4..ec9276acc 100644 --- a/hutool-core/src/test/java/cn/hutool/core/util/EscapeUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/util/EscapeUtilTest.java @@ -1,5 +1,6 @@ package cn.hutool.core.util; +import cn.hutool.core.text.escape.EscapeUtil; import org.junit.Assert; import org.junit.Test; diff --git a/hutool-core/src/test/java/cn/hutool/core/util/HexUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/util/HexUtilTest.java index 0eed42588..1d30f6a7f 100644 --- a/hutool-core/src/test/java/cn/hutool/core/util/HexUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/util/HexUtilTest.java @@ -1,5 +1,6 @@ package cn.hutool.core.util; +import cn.hutool.core.codec.HexUtil; import org.junit.Assert; import org.junit.Test; diff --git a/hutool-script/src/test/java/cn/hutool/script/test/ScriptUtilTest.java b/hutool-core/src/test/java/cn/hutool/core/util/ScriptUtilTest.java similarity index 50% rename from hutool-script/src/test/java/cn/hutool/script/test/ScriptUtilTest.java rename to hutool-core/src/test/java/cn/hutool/core/util/ScriptUtilTest.java index 9da861c4e..090a05a98 100644 --- a/hutool-script/src/test/java/cn/hutool/script/test/ScriptUtilTest.java +++ b/hutool-core/src/test/java/cn/hutool/core/util/ScriptUtilTest.java @@ -1,18 +1,16 @@ -package cn.hutool.script.test; +package cn.hutool.core.util; +import cn.hutool.core.exceptions.UtilException; import cn.hutool.core.io.resource.ResourceUtil; -import cn.hutool.script.ScriptRuntimeException; -import cn.hutool.script.ScriptUtil; import org.junit.Assert; import org.junit.Test; import javax.script.CompiledScript; -import javax.script.ScriptEngine; import javax.script.ScriptException; /** * 脚本单元测试类 - * + * * @author looly * */ @@ -24,7 +22,7 @@ public class ScriptUtilTest { try { script.eval(); } catch (ScriptException e) { - throw new ScriptRuntimeException(e); + throw new UtilException(e); } } @@ -38,22 +36,4 @@ public class ScriptUtilTest { final Object result = ScriptUtil.invoke(ResourceUtil.readUtf8Str("filter1.js"), "filter1", 2, 1); Assert.assertTrue((Boolean) result); } - - @Test - public void pythonTest() throws ScriptException { - final ScriptEngine pythonEngine = ScriptUtil.getPythonEngine(); - pythonEngine.eval("print('Hello Python')"); - } - - @Test - public void luaTest() throws ScriptException { - final ScriptEngine engine = ScriptUtil.getLuaEngine(); - engine.eval("print('Hello Lua')"); - } - - @Test - public void groovyTest() throws ScriptException { - final ScriptEngine engine = ScriptUtil.getGroovyEngine(); - engine.eval("println 'Hello Groovy'"); - } } diff --git a/hutool-script/src/test/resources/filter1.js b/hutool-core/src/test/resources/filter1.js similarity index 100% rename from hutool-script/src/test/resources/filter1.js rename to hutool-core/src/test/resources/filter1.js diff --git a/hutool-cron/pom.xml b/hutool-cron/pom.xml index 946cda803..56c3c955b 100755 --- a/hutool-cron/pom.xml +++ b/hutool-cron/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.8.0.M5 + 6.0.0.M1 hutool-cron diff --git a/hutool-crypto/pom.xml b/hutool-crypto/pom.xml index 85466e6af..5515f8f5b 100755 --- a/hutool-crypto/pom.xml +++ b/hutool-crypto/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.8.0.M5 + 6.0.0.M1 hutool-crypto diff --git a/hutool-crypto/src/main/java/cn/hutool/crypto/SecureUtil.java b/hutool-crypto/src/main/java/cn/hutool/crypto/SecureUtil.java index 575cbb377..ca507f8bb 100644 --- a/hutool-crypto/src/main/java/cn/hutool/crypto/SecureUtil.java +++ b/hutool-crypto/src/main/java/cn/hutool/crypto/SecureUtil.java @@ -3,7 +3,7 @@ package cn.hutool.crypto; import cn.hutool.core.codec.Base64; import cn.hutool.core.io.FileUtil; import cn.hutool.core.lang.Validator; -import cn.hutool.core.util.HexUtil; +import cn.hutool.core.codec.HexUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.asymmetric.AsymmetricAlgorithm; import cn.hutool.crypto.asymmetric.RSA; diff --git a/hutool-crypto/src/main/java/cn/hutool/crypto/asymmetric/AsymmetricEncryptor.java b/hutool-crypto/src/main/java/cn/hutool/crypto/asymmetric/AsymmetricEncryptor.java index 4e091e8b4..984886b68 100644 --- a/hutool-crypto/src/main/java/cn/hutool/crypto/asymmetric/AsymmetricEncryptor.java +++ b/hutool-crypto/src/main/java/cn/hutool/crypto/asymmetric/AsymmetricEncryptor.java @@ -5,7 +5,7 @@ import cn.hutool.core.codec.Base64; import cn.hutool.core.io.IORuntimeException; import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.CharsetUtil; -import cn.hutool.core.util.HexUtil; +import cn.hutool.core.codec.HexUtil; import cn.hutool.core.util.StrUtil; import java.io.InputStream; diff --git a/hutool-crypto/src/main/java/cn/hutool/crypto/asymmetric/SM2.java b/hutool-crypto/src/main/java/cn/hutool/crypto/asymmetric/SM2.java index d84f99d5a..7820f60d6 100644 --- a/hutool-crypto/src/main/java/cn/hutool/crypto/asymmetric/SM2.java +++ b/hutool-crypto/src/main/java/cn/hutool/crypto/asymmetric/SM2.java @@ -1,7 +1,7 @@ package cn.hutool.crypto.asymmetric; import cn.hutool.core.lang.Assert; -import cn.hutool.core.util.HexUtil; +import cn.hutool.core.codec.HexUtil; import cn.hutool.crypto.BCUtil; import cn.hutool.crypto.CryptoException; import cn.hutool.crypto.ECKeyUtil; diff --git a/hutool-crypto/src/main/java/cn/hutool/crypto/asymmetric/Sign.java b/hutool-crypto/src/main/java/cn/hutool/crypto/asymmetric/Sign.java index c1eb53255..0e261320f 100644 --- a/hutool-crypto/src/main/java/cn/hutool/crypto/asymmetric/Sign.java +++ b/hutool-crypto/src/main/java/cn/hutool/crypto/asymmetric/Sign.java @@ -4,7 +4,7 @@ import cn.hutool.core.codec.Base64; import cn.hutool.core.collection.CollUtil; import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.CharsetUtil; -import cn.hutool.core.util.HexUtil; +import cn.hutool.core.codec.HexUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.CryptoException; import cn.hutool.crypto.SecureUtil; diff --git a/hutool-crypto/src/main/java/cn/hutool/crypto/digest/Digester.java b/hutool-crypto/src/main/java/cn/hutool/crypto/digest/Digester.java index 8bad73888..1923ab2a6 100644 --- a/hutool-crypto/src/main/java/cn/hutool/crypto/digest/Digester.java +++ b/hutool-crypto/src/main/java/cn/hutool/crypto/digest/Digester.java @@ -5,7 +5,7 @@ import cn.hutool.core.io.IORuntimeException; import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.CharsetUtil; -import cn.hutool.core.util.HexUtil; +import cn.hutool.core.codec.HexUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.CryptoException; import cn.hutool.crypto.SecureUtil; @@ -22,7 +22,7 @@ import java.security.Provider; /** * 摘要算法
* 注意:此对象实例化后为非线程安全! - * + * * @author Looly * */ @@ -40,7 +40,7 @@ public class Digester implements Serializable { // ------------------------------------------------------------------------------------------- Constructor start /** * 构造 - * + * * @param algorithm 算法枚举 */ public Digester(DigestAlgorithm algorithm) { @@ -49,7 +49,7 @@ public class Digester implements Serializable { /** * 构造 - * + * * @param algorithm 算法枚举 */ public Digester(String algorithm) { @@ -58,7 +58,7 @@ public class Digester implements Serializable { /** * 构造 - * + * * @param algorithm 算法 * @param provider 算法提供者,null表示JDK默认,可以引入Bouncy Castle等来提供更多算法支持 * @since 4.5.1 @@ -69,7 +69,7 @@ public class Digester implements Serializable { /** * 构造 - * + * * @param algorithm 算法 * @param provider 算法提供者,null表示JDK默认,可以引入Bouncy Castle等来提供更多算法支持 * @since 4.5.1 @@ -81,7 +81,7 @@ public class Digester implements Serializable { /** * 初始化 - * + * * @param algorithm 算法 * @param provider 算法提供者,null表示JDK默认,可以引入Bouncy Castle等来提供更多算法支持 * @return Digester @@ -99,10 +99,10 @@ public class Digester implements Serializable { } return this; } - + /** * 设置加盐内容 - * + * * @param salt 盐值 * @return this * @since 4.4.3 @@ -115,18 +115,18 @@ public class Digester implements Serializable { /** * 设置加盐的位置,只有盐值存在时有效
* 加盐的位置指盐位于数据byte数组中的位置,例如: - * + * *
 	 * data: 0123456
 	 * 
- * + * * 则当saltPosition = 2时,盐位于data的1和2中间,即第二个空隙,即: - * + * *
 	 * data: 01[salt]23456
 	 * 
- * - * + * + * * @param saltPosition 盐的位置 * @return this * @since 4.4.3 @@ -138,7 +138,7 @@ public class Digester implements Serializable { /** * 设置重复计算摘要值次数 - * + * * @param digestCount 摘要值次数 * @return this */ @@ -149,7 +149,7 @@ public class Digester implements Serializable { /** * 重置{@link MessageDigest} - * + * * @return this * @since 4.5.1 */ @@ -161,7 +161,7 @@ public class Digester implements Serializable { // ------------------------------------------------------------------------------------------- Digest /** * 生成文件摘要 - * + * * @param data 被摘要数据 * @param charsetName 编码 * @return 摘要 @@ -169,10 +169,10 @@ public class Digester implements Serializable { public byte[] digest(String data, String charsetName) { return digest(data, CharsetUtil.charset(charsetName)); } - + /** * 生成文件摘要 - * + * * @param data 被摘要数据 * @param charset 编码 * @return 摘要 @@ -184,7 +184,7 @@ public class Digester implements Serializable { /** * 生成文件摘要 - * + * * @param data 被摘要数据 * @return 摘要 */ @@ -194,7 +194,7 @@ public class Digester implements Serializable { /** * 生成文件摘要,并转为16进制字符串 - * + * * @param data 被摘要数据 * @param charsetName 编码 * @return 摘要 @@ -202,10 +202,10 @@ public class Digester implements Serializable { public String digestHex(String data, String charsetName) { return digestHex(data, CharsetUtil.charset(charsetName)); } - + /** * 生成文件摘要,并转为16进制字符串 - * + * * @param data 被摘要数据 * @param charset 编码 * @return 摘要 @@ -217,7 +217,7 @@ public class Digester implements Serializable { /** * 生成文件摘要 - * + * * @param data 被摘要数据 * @return 摘要 */ @@ -228,7 +228,7 @@ public class Digester implements Serializable { /** * 生成文件摘要
* 使用默认缓存大小,见 {@link IoUtil#DEFAULT_BUFFER_SIZE} - * + * * @param file 被摘要文件 * @return 摘要bytes * @throws CryptoException Cause by IOException @@ -246,7 +246,7 @@ public class Digester implements Serializable { /** * 生成文件摘要,并转为16进制字符串
* 使用默认缓存大小,见 {@link IoUtil#DEFAULT_BUFFER_SIZE} - * + * * @param file 被摘要文件 * @return 摘要 */ @@ -256,7 +256,7 @@ public class Digester implements Serializable { /** * 生成摘要,考虑加盐和重复摘要次数 - * + * * @param data 数据bytes * @return 摘要bytes */ @@ -284,7 +284,7 @@ public class Digester implements Serializable { /** * 生成摘要,并转为16进制字符串
- * + * * @param data 被摘要数据 * @return 摘要 */ @@ -294,7 +294,7 @@ public class Digester implements Serializable { /** * 生成摘要,使用默认缓存大小,见 {@link IoUtil#DEFAULT_BUFFER_SIZE} - * + * * @param data {@link InputStream} 数据流 * @return 摘要bytes */ @@ -305,7 +305,7 @@ public class Digester implements Serializable { /** * 生成摘要,并转为16进制字符串
* 使用默认缓存大小,见 {@link IoUtil#DEFAULT_BUFFER_SIZE} - * + * * @param data 被摘要数据 * @return 摘要 */ @@ -315,7 +315,7 @@ public class Digester implements Serializable { /** * 生成摘要 - * + * * @param data {@link InputStream} 数据流 * @param bufferLength 缓存长度,不足1使用 {@link IoUtil#DEFAULT_BUFFER_SIZE} 做为默认值 * @return 摘要bytes @@ -325,7 +325,7 @@ public class Digester implements Serializable { if (bufferLength < 1) { bufferLength = IoUtil.DEFAULT_BUFFER_SIZE; } - + byte[] result; try { if (ArrayUtil.isEmpty(this.salt)) { @@ -336,14 +336,14 @@ public class Digester implements Serializable { } catch (IOException e) { throw new IORuntimeException(e); } - + return resetAndRepeatDigest(result); } /** * 生成摘要,并转为16进制字符串
* 使用默认缓存大小,见 {@link IoUtil#DEFAULT_BUFFER_SIZE} - * + * * @param data 被摘要数据 * @param bufferLength 缓存长度,不足1使用 {@link IoUtil#DEFAULT_BUFFER_SIZE} 做为默认值 * @return 摘要 @@ -354,7 +354,7 @@ public class Digester implements Serializable { /** * 获得 {@link MessageDigest} - * + * * @return {@link MessageDigest} */ public MessageDigest getDigest() { @@ -363,7 +363,7 @@ public class Digester implements Serializable { /** * 获取散列长度,0表示不支持此方法 - * + * * @return 散列长度,0表示不支持此方法 * @since 4.5.0 */ @@ -374,7 +374,7 @@ public class Digester implements Serializable { // -------------------------------------------------------------------------------- Private method start /** * 生成摘要 - * + * * @param data {@link InputStream} 数据流 * @param bufferLength 缓存长度,不足1使用 {@link IoUtil#DEFAULT_BUFFER_SIZE} 做为默认值 * @return 摘要bytes @@ -391,7 +391,7 @@ public class Digester implements Serializable { /** * 生成摘要 - * + * * @param data {@link InputStream} 数据流 * @param bufferLength 缓存长度,不足1使用 {@link IoUtil#DEFAULT_BUFFER_SIZE} 做为默认值 * @return 摘要bytes @@ -430,7 +430,7 @@ public class Digester implements Serializable { /** * 生成摘要 - * + * * @param datas 数据bytes * @return 摘要bytes * @since 4.4.3 @@ -447,7 +447,7 @@ public class Digester implements Serializable { /** * 重复计算摘要,取决于{@link #digestCount} 值
* 每次计算摘要前都会重置{@link #digest} - * + * * @param digestData 第一次摘要过的数据 * @return 摘要 */ diff --git a/hutool-crypto/src/main/java/cn/hutool/crypto/digest/mac/Mac.java b/hutool-crypto/src/main/java/cn/hutool/crypto/digest/mac/Mac.java index 5ebe191ab..3a144398b 100644 --- a/hutool-crypto/src/main/java/cn/hutool/crypto/digest/mac/Mac.java +++ b/hutool-crypto/src/main/java/cn/hutool/crypto/digest/mac/Mac.java @@ -4,7 +4,7 @@ import cn.hutool.core.codec.Base64; import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.CharsetUtil; -import cn.hutool.core.util.HexUtil; +import cn.hutool.core.codec.HexUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.CryptoException; diff --git a/hutool-crypto/src/main/java/cn/hutool/crypto/symmetric/PBKDF2.java b/hutool-crypto/src/main/java/cn/hutool/crypto/symmetric/PBKDF2.java index 059660afe..c2e4a1b54 100644 --- a/hutool-crypto/src/main/java/cn/hutool/crypto/symmetric/PBKDF2.java +++ b/hutool-crypto/src/main/java/cn/hutool/crypto/symmetric/PBKDF2.java @@ -1,6 +1,6 @@ package cn.hutool.crypto.symmetric; -import cn.hutool.core.util.HexUtil; +import cn.hutool.core.codec.HexUtil; import cn.hutool.crypto.KeyUtil; import javax.crypto.SecretKey; diff --git a/hutool-crypto/src/main/java/cn/hutool/crypto/symmetric/RC4.java b/hutool-crypto/src/main/java/cn/hutool/crypto/symmetric/RC4.java index 0b736d4fc..4f304ee94 100644 --- a/hutool-crypto/src/main/java/cn/hutool/crypto/symmetric/RC4.java +++ b/hutool-crypto/src/main/java/cn/hutool/crypto/symmetric/RC4.java @@ -2,7 +2,7 @@ package cn.hutool.crypto.symmetric; import cn.hutool.core.codec.Base64; import cn.hutool.core.util.CharsetUtil; -import cn.hutool.core.util.HexUtil; +import cn.hutool.core.codec.HexUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.CryptoException; import cn.hutool.crypto.SecureUtil; diff --git a/hutool-crypto/src/main/java/cn/hutool/crypto/symmetric/SymmetricCrypto.java b/hutool-crypto/src/main/java/cn/hutool/crypto/symmetric/SymmetricCrypto.java index ea4a7756d..1fbf9217b 100644 --- a/hutool-crypto/src/main/java/cn/hutool/crypto/symmetric/SymmetricCrypto.java +++ b/hutool-crypto/src/main/java/cn/hutool/crypto/symmetric/SymmetricCrypto.java @@ -5,7 +5,7 @@ import cn.hutool.core.io.IoUtil; import cn.hutool.core.lang.Assert; import cn.hutool.core.lang.Opt; import cn.hutool.core.util.ArrayUtil; -import cn.hutool.core.util.HexUtil; +import cn.hutool.core.codec.HexUtil; import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.CipherMode; diff --git a/hutool-crypto/src/main/java/cn/hutool/crypto/symmetric/SymmetricEncryptor.java b/hutool-crypto/src/main/java/cn/hutool/crypto/symmetric/SymmetricEncryptor.java index 3d227718a..99f127775 100644 --- a/hutool-crypto/src/main/java/cn/hutool/crypto/symmetric/SymmetricEncryptor.java +++ b/hutool-crypto/src/main/java/cn/hutool/crypto/symmetric/SymmetricEncryptor.java @@ -4,7 +4,7 @@ import cn.hutool.core.codec.Base64; import cn.hutool.core.io.IORuntimeException; import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.CharsetUtil; -import cn.hutool.core.util.HexUtil; +import cn.hutool.core.codec.HexUtil; import cn.hutool.core.util.StrUtil; import java.io.InputStream; diff --git a/hutool-crypto/src/test/java/cn/hutool/crypto/test/asymmetric/RSATest.java b/hutool-crypto/src/test/java/cn/hutool/crypto/test/asymmetric/RSATest.java index a8351c341..693632ae9 100644 --- a/hutool-crypto/src/test/java/cn/hutool/crypto/test/asymmetric/RSATest.java +++ b/hutool-crypto/src/test/java/cn/hutool/crypto/test/asymmetric/RSATest.java @@ -1,10 +1,9 @@ package cn.hutool.crypto.test.asymmetric; import cn.hutool.core.codec.Base64; -import cn.hutool.core.lang.Console; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.CharsetUtil; -import cn.hutool.core.util.HexUtil; +import cn.hutool.core.codec.HexUtil; import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.KeyUtil; @@ -12,8 +11,6 @@ import cn.hutool.crypto.SecureUtil; import cn.hutool.crypto.asymmetric.AsymmetricAlgorithm; import cn.hutool.crypto.asymmetric.KeyType; import cn.hutool.crypto.asymmetric.RSA; -import cn.hutool.crypto.asymmetric.Sign; -import cn.hutool.crypto.asymmetric.SignAlgorithm; import org.junit.Assert; import org.junit.Test; diff --git a/hutool-crypto/src/test/java/cn/hutool/crypto/test/asymmetric/SM2Test.java b/hutool-crypto/src/test/java/cn/hutool/crypto/test/asymmetric/SM2Test.java index 3e852793d..dec459218 100644 --- a/hutool-crypto/src/test/java/cn/hutool/crypto/test/asymmetric/SM2Test.java +++ b/hutool-crypto/src/test/java/cn/hutool/crypto/test/asymmetric/SM2Test.java @@ -2,7 +2,7 @@ package cn.hutool.crypto.test.asymmetric; import cn.hutool.core.codec.Base64; import cn.hutool.core.util.CharsetUtil; -import cn.hutool.core.util.HexUtil; +import cn.hutool.core.codec.HexUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.crypto.ECKeyUtil; import cn.hutool.crypto.KeyUtil; diff --git a/hutool-crypto/src/test/java/cn/hutool/crypto/test/symmetric/AESTest.java b/hutool-crypto/src/test/java/cn/hutool/crypto/test/symmetric/AESTest.java index b860854f2..11477364d 100644 --- a/hutool-crypto/src/test/java/cn/hutool/crypto/test/symmetric/AESTest.java +++ b/hutool-crypto/src/test/java/cn/hutool/crypto/test/symmetric/AESTest.java @@ -1,7 +1,7 @@ package cn.hutool.crypto.test.symmetric; import cn.hutool.core.codec.Base64; -import cn.hutool.core.util.HexUtil; +import cn.hutool.core.codec.HexUtil; import cn.hutool.core.util.RandomUtil; import cn.hutool.crypto.KeyUtil; import cn.hutool.crypto.Mode; diff --git a/hutool-db/pom.xml b/hutool-db/pom.xml index 19a80bed4..81665ee0b 100755 --- a/hutool-db/pom.xml +++ b/hutool-db/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.8.0.M5 + 6.0.0.M1 hutool-db diff --git a/hutool-dfa/pom.xml b/hutool-dfa/pom.xml deleted file mode 100755 index 05e50a60e..000000000 --- a/hutool-dfa/pom.xml +++ /dev/null @@ -1,26 +0,0 @@ - - - 4.0.0 - - jar - - - cn.hutool - hutool-parent - 5.8.0.M5 - - - hutool-dfa - ${project.artifactId} - Hutool 基于DFA的关键词查找 - - - - cn.hutool - hutool-json - ${project.parent.version} - - - diff --git a/hutool-extra/pom.xml b/hutool-extra/pom.xml index 4b13a50db..93482b39a 100755 --- a/hutool-extra/pom.xml +++ b/hutool-extra/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.8.0.M5 + 6.0.0.M1 hutool-extra @@ -41,6 +41,11 @@ hutool-core ${project.parent.version} + + cn.hutool + hutool-swing + ${project.parent.version} + cn.hutool hutool-setting @@ -472,5 +477,12 @@ compile true + + + com.github.oshi + oshi-core + 6.1.6 + provided + diff --git a/hutool-aop/src/main/java/cn/hutool/aop/ProxyUtil.java b/hutool-extra/src/main/java/cn/hutool/extra/aop/ProxyUtil.java similarity index 95% rename from hutool-aop/src/main/java/cn/hutool/aop/ProxyUtil.java rename to hutool-extra/src/main/java/cn/hutool/extra/aop/ProxyUtil.java index 92bd4760d..6afe9094b 100644 --- a/hutool-aop/src/main/java/cn/hutool/aop/ProxyUtil.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/aop/ProxyUtil.java @@ -1,12 +1,12 @@ -package cn.hutool.aop; +package cn.hutool.extra.aop; + +import cn.hutool.extra.aop.aspects.Aspect; +import cn.hutool.extra.aop.proxy.ProxyFactory; +import cn.hutool.core.util.ClassUtil; import java.lang.reflect.InvocationHandler; import java.lang.reflect.Proxy; -import cn.hutool.aop.aspects.Aspect; -import cn.hutool.aop.proxy.ProxyFactory; -import cn.hutool.core.util.ClassUtil; - /** * 代理工具类 * @author Looly diff --git a/hutool-aop/src/main/java/cn/hutool/aop/aspects/Aspect.java b/hutool-extra/src/main/java/cn/hutool/extra/aop/aspects/Aspect.java similarity index 97% rename from hutool-aop/src/main/java/cn/hutool/aop/aspects/Aspect.java rename to hutool-extra/src/main/java/cn/hutool/extra/aop/aspects/Aspect.java index 9463fc764..9d4cd7d64 100644 --- a/hutool-aop/src/main/java/cn/hutool/aop/aspects/Aspect.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/aop/aspects/Aspect.java @@ -1,4 +1,4 @@ -package cn.hutool.aop.aspects; +package cn.hutool.extra.aop.aspects; import java.lang.reflect.Method; diff --git a/hutool-aop/src/main/java/cn/hutool/aop/aspects/SimpleAspect.java b/hutool-extra/src/main/java/cn/hutool/extra/aop/aspects/SimpleAspect.java similarity index 95% rename from hutool-aop/src/main/java/cn/hutool/aop/aspects/SimpleAspect.java rename to hutool-extra/src/main/java/cn/hutool/extra/aop/aspects/SimpleAspect.java index e1309050b..cd946c154 100644 --- a/hutool-aop/src/main/java/cn/hutool/aop/aspects/SimpleAspect.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/aop/aspects/SimpleAspect.java @@ -1,4 +1,4 @@ -package cn.hutool.aop.aspects; +package cn.hutool.extra.aop.aspects; import java.io.Serializable; import java.lang.reflect.Method; diff --git a/hutool-aop/src/main/java/cn/hutool/aop/aspects/TimeIntervalAspect.java b/hutool-extra/src/main/java/cn/hutool/extra/aop/aspects/TimeIntervalAspect.java similarity index 95% rename from hutool-aop/src/main/java/cn/hutool/aop/aspects/TimeIntervalAspect.java rename to hutool-extra/src/main/java/cn/hutool/extra/aop/aspects/TimeIntervalAspect.java index 5a4fe69cf..af0375af8 100644 --- a/hutool-aop/src/main/java/cn/hutool/aop/aspects/TimeIntervalAspect.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/aop/aspects/TimeIntervalAspect.java @@ -1,4 +1,4 @@ -package cn.hutool.aop.aspects; +package cn.hutool.extra.aop.aspects; import cn.hutool.core.date.TimeInterval; import cn.hutool.core.lang.Console; diff --git a/hutool-aop/src/main/java/cn/hutool/aop/aspects/package-info.java b/hutool-extra/src/main/java/cn/hutool/extra/aop/aspects/package-info.java similarity index 69% rename from hutool-aop/src/main/java/cn/hutool/aop/aspects/package-info.java rename to hutool-extra/src/main/java/cn/hutool/extra/aop/aspects/package-info.java index fab914fbd..438fc0100 100644 --- a/hutool-aop/src/main/java/cn/hutool/aop/aspects/package-info.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/aop/aspects/package-info.java @@ -4,4 +4,4 @@ * @author looly * */ -package cn.hutool.aop.aspects; \ No newline at end of file +package cn.hutool.extra.aop.aspects; diff --git a/hutool-aop/src/main/java/cn/hutool/aop/interceptor/CglibInterceptor.java b/hutool-extra/src/main/java/cn/hutool/extra/aop/interceptor/CglibInterceptor.java similarity index 94% rename from hutool-aop/src/main/java/cn/hutool/aop/interceptor/CglibInterceptor.java rename to hutool-extra/src/main/java/cn/hutool/extra/aop/interceptor/CglibInterceptor.java index f0f7f9e90..ac5a12d0c 100644 --- a/hutool-aop/src/main/java/cn/hutool/aop/interceptor/CglibInterceptor.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/aop/interceptor/CglibInterceptor.java @@ -1,6 +1,6 @@ -package cn.hutool.aop.interceptor; +package cn.hutool.extra.aop.interceptor; -import cn.hutool.aop.aspects.Aspect; +import cn.hutool.extra.aop.aspects.Aspect; import net.sf.cglib.proxy.MethodInterceptor; import net.sf.cglib.proxy.MethodProxy; diff --git a/hutool-aop/src/main/java/cn/hutool/aop/interceptor/JdkInterceptor.java b/hutool-extra/src/main/java/cn/hutool/extra/aop/interceptor/JdkInterceptor.java similarity index 94% rename from hutool-aop/src/main/java/cn/hutool/aop/interceptor/JdkInterceptor.java rename to hutool-extra/src/main/java/cn/hutool/extra/aop/interceptor/JdkInterceptor.java index 88b50e487..8700a9b97 100644 --- a/hutool-aop/src/main/java/cn/hutool/aop/interceptor/JdkInterceptor.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/aop/interceptor/JdkInterceptor.java @@ -1,6 +1,6 @@ -package cn.hutool.aop.interceptor; +package cn.hutool.extra.aop.interceptor; -import cn.hutool.aop.aspects.Aspect; +import cn.hutool.extra.aop.aspects.Aspect; import cn.hutool.core.util.ClassUtil; import cn.hutool.core.util.ReflectUtil; diff --git a/hutool-aop/src/main/java/cn/hutool/aop/interceptor/SpringCglibInterceptor.java b/hutool-extra/src/main/java/cn/hutool/extra/aop/interceptor/SpringCglibInterceptor.java similarity index 94% rename from hutool-aop/src/main/java/cn/hutool/aop/interceptor/SpringCglibInterceptor.java rename to hutool-extra/src/main/java/cn/hutool/extra/aop/interceptor/SpringCglibInterceptor.java index 8db483469..eb3b36f96 100644 --- a/hutool-aop/src/main/java/cn/hutool/aop/interceptor/SpringCglibInterceptor.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/aop/interceptor/SpringCglibInterceptor.java @@ -1,6 +1,6 @@ -package cn.hutool.aop.interceptor; +package cn.hutool.extra.aop.interceptor; -import cn.hutool.aop.aspects.Aspect; +import cn.hutool.extra.aop.aspects.Aspect; import org.springframework.cglib.proxy.MethodInterceptor; import org.springframework.cglib.proxy.MethodProxy; diff --git a/hutool-aop/src/main/java/cn/hutool/aop/interceptor/package-info.java b/hutool-extra/src/main/java/cn/hutool/extra/aop/interceptor/package-info.java similarity index 57% rename from hutool-aop/src/main/java/cn/hutool/aop/interceptor/package-info.java rename to hutool-extra/src/main/java/cn/hutool/extra/aop/interceptor/package-info.java index 54c58158f..97351c4a6 100644 --- a/hutool-aop/src/main/java/cn/hutool/aop/interceptor/package-info.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/aop/interceptor/package-info.java @@ -4,4 +4,4 @@ * @author looly * */ -package cn.hutool.aop.interceptor; \ No newline at end of file +package cn.hutool.extra.aop.interceptor; diff --git a/hutool-aop/src/main/java/cn/hutool/aop/package-info.java b/hutool-extra/src/main/java/cn/hutool/extra/aop/package-info.java similarity index 75% rename from hutool-aop/src/main/java/cn/hutool/aop/package-info.java rename to hutool-extra/src/main/java/cn/hutool/extra/aop/package-info.java index 3b2d2a93a..0129ab989 100644 --- a/hutool-aop/src/main/java/cn/hutool/aop/package-info.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/aop/package-info.java @@ -4,4 +4,4 @@ * @author looly * */ -package cn.hutool.aop; \ No newline at end of file +package cn.hutool.extra.aop; diff --git a/hutool-aop/src/main/java/cn/hutool/aop/proxy/CglibProxyFactory.java b/hutool-extra/src/main/java/cn/hutool/extra/aop/proxy/CglibProxyFactory.java similarity index 69% rename from hutool-aop/src/main/java/cn/hutool/aop/proxy/CglibProxyFactory.java rename to hutool-extra/src/main/java/cn/hutool/extra/aop/proxy/CglibProxyFactory.java index d7510035c..95cff73f0 100644 --- a/hutool-aop/src/main/java/cn/hutool/aop/proxy/CglibProxyFactory.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/aop/proxy/CglibProxyFactory.java @@ -1,16 +1,15 @@ -package cn.hutool.aop.proxy; +package cn.hutool.extra.aop.proxy; -import cn.hutool.aop.aspects.Aspect; -import cn.hutool.aop.interceptor.CglibInterceptor; +import cn.hutool.extra.aop.aspects.Aspect; +import cn.hutool.extra.aop.interceptor.CglibInterceptor; import net.sf.cglib.proxy.Enhancer; /** * 基于Cglib的切面代理工厂 * * @author looly - * */ -public class CglibProxyFactory extends ProxyFactory{ +public class CglibProxyFactory extends ProxyFactory { private static final long serialVersionUID = 1L; @Override diff --git a/hutool-aop/src/main/java/cn/hutool/aop/proxy/JdkProxyFactory.java b/hutool-extra/src/main/java/cn/hutool/extra/aop/proxy/JdkProxyFactory.java similarity index 69% rename from hutool-aop/src/main/java/cn/hutool/aop/proxy/JdkProxyFactory.java rename to hutool-extra/src/main/java/cn/hutool/extra/aop/proxy/JdkProxyFactory.java index 91a5a7129..7cfb64886 100644 --- a/hutool-aop/src/main/java/cn/hutool/aop/proxy/JdkProxyFactory.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/aop/proxy/JdkProxyFactory.java @@ -1,8 +1,8 @@ -package cn.hutool.aop.proxy; +package cn.hutool.extra.aop.proxy; -import cn.hutool.aop.ProxyUtil; -import cn.hutool.aop.aspects.Aspect; -import cn.hutool.aop.interceptor.JdkInterceptor; +import cn.hutool.extra.aop.ProxyUtil; +import cn.hutool.extra.aop.aspects.Aspect; +import cn.hutool.extra.aop.interceptor.JdkInterceptor; /** * JDK实现的切面代理 diff --git a/hutool-aop/src/main/java/cn/hutool/aop/proxy/ProxyFactory.java b/hutool-extra/src/main/java/cn/hutool/extra/aop/proxy/ProxyFactory.java similarity index 95% rename from hutool-aop/src/main/java/cn/hutool/aop/proxy/ProxyFactory.java rename to hutool-extra/src/main/java/cn/hutool/extra/aop/proxy/ProxyFactory.java index 96d988971..39cd56303 100644 --- a/hutool-aop/src/main/java/cn/hutool/aop/proxy/ProxyFactory.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/aop/proxy/ProxyFactory.java @@ -1,6 +1,6 @@ -package cn.hutool.aop.proxy; +package cn.hutool.extra.aop.proxy; -import cn.hutool.aop.aspects.Aspect; +import cn.hutool.extra.aop.aspects.Aspect; import cn.hutool.core.util.ReflectUtil; import cn.hutool.core.util.ServiceLoaderUtil; diff --git a/hutool-aop/src/main/java/cn/hutool/aop/proxy/SpringCglibProxyFactory.java b/hutool-extra/src/main/java/cn/hutool/extra/aop/proxy/SpringCglibProxyFactory.java similarity index 78% rename from hutool-aop/src/main/java/cn/hutool/aop/proxy/SpringCglibProxyFactory.java rename to hutool-extra/src/main/java/cn/hutool/extra/aop/proxy/SpringCglibProxyFactory.java index caa43e596..dcaaa8ff0 100644 --- a/hutool-aop/src/main/java/cn/hutool/aop/proxy/SpringCglibProxyFactory.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/aop/proxy/SpringCglibProxyFactory.java @@ -1,7 +1,7 @@ -package cn.hutool.aop.proxy; +package cn.hutool.extra.aop.proxy; -import cn.hutool.aop.aspects.Aspect; -import cn.hutool.aop.interceptor.SpringCglibInterceptor; +import cn.hutool.extra.aop.aspects.Aspect; +import cn.hutool.extra.aop.interceptor.SpringCglibInterceptor; import org.springframework.cglib.proxy.Enhancer; /** diff --git a/hutool-aop/src/main/java/cn/hutool/aop/proxy/package-info.java b/hutool-extra/src/main/java/cn/hutool/extra/aop/proxy/package-info.java similarity index 57% rename from hutool-aop/src/main/java/cn/hutool/aop/proxy/package-info.java rename to hutool-extra/src/main/java/cn/hutool/extra/aop/proxy/package-info.java index b75feeeab..fc12782c1 100644 --- a/hutool-aop/src/main/java/cn/hutool/aop/proxy/package-info.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/aop/proxy/package-info.java @@ -4,4 +4,4 @@ * @author looly * */ -package cn.hutool.aop.proxy; \ No newline at end of file +package cn.hutool.extra.aop.proxy; diff --git a/hutool-extra/src/main/java/cn/hutool/extra/qrcode/QrCodeUtil.java b/hutool-extra/src/main/java/cn/hutool/extra/qrcode/QrCodeUtil.java index 36e048d2b..32593bafd 100644 --- a/hutool-extra/src/main/java/cn/hutool/extra/qrcode/QrCodeUtil.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/qrcode/QrCodeUtil.java @@ -1,8 +1,8 @@ package cn.hutool.extra.qrcode; import cn.hutool.core.codec.Base64; -import cn.hutool.core.img.Img; -import cn.hutool.core.img.ImgUtil; +import cn.hutool.swing.img.Img; +import cn.hutool.swing.img.ImgUtil; import cn.hutool.core.util.CharsetUtil; import com.google.zxing.BarcodeFormat; import com.google.zxing.Binarizer; diff --git a/hutool-extra/src/main/java/cn/hutool/extra/qrcode/QrConfig.java b/hutool-extra/src/main/java/cn/hutool/extra/qrcode/QrConfig.java index 0c2789c87..76319984d 100644 --- a/hutool-extra/src/main/java/cn/hutool/extra/qrcode/QrConfig.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/qrcode/QrConfig.java @@ -1,6 +1,6 @@ package cn.hutool.extra.qrcode; -import cn.hutool.core.img.ImgUtil; +import cn.hutool.swing.img.ImgUtil; import cn.hutool.core.io.FileUtil; import cn.hutool.core.util.CharsetUtil; import com.google.zxing.BarcodeFormat; diff --git a/hutool-system/src/main/java/cn/hutool/system/HostInfo.java b/hutool-extra/src/main/java/cn/hutool/extra/system/HostInfo.java similarity index 92% rename from hutool-system/src/main/java/cn/hutool/system/HostInfo.java rename to hutool-extra/src/main/java/cn/hutool/extra/system/HostInfo.java index fa289d838..4b477acbf 100644 --- a/hutool-system/src/main/java/cn/hutool/system/HostInfo.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/system/HostInfo.java @@ -1,4 +1,4 @@ -package cn.hutool.system; +package cn.hutool.extra.system; import cn.hutool.core.net.NetUtil; @@ -29,7 +29,7 @@ public class HostInfo implements Serializable { * 取得当前主机的名称。 * *

- * 例如:"webserver1" + * 例如:{@code "webserver1"} *

* * @return 主机名 @@ -42,7 +42,7 @@ public class HostInfo implements Serializable { * 取得当前主机的地址。 * *

- * 例如:"192.168.0.1" + * 例如:{@code "192.168.0.1"} *

* * @return 主机地址 diff --git a/hutool-system/src/main/java/cn/hutool/system/JavaInfo.java b/hutool-extra/src/main/java/cn/hutool/extra/system/JavaInfo.java similarity index 59% rename from hutool-system/src/main/java/cn/hutool/system/JavaInfo.java rename to hutool-extra/src/main/java/cn/hutool/extra/system/JavaInfo.java index 256cfdee2..2aa2f2c37 100644 --- a/hutool-system/src/main/java/cn/hutool/system/JavaInfo.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/system/JavaInfo.java @@ -1,4 +1,4 @@ -package cn.hutool.system; +package cn.hutool.extra.system; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ReUtil; @@ -32,12 +32,12 @@ public class JavaInfo implements Serializable { private final boolean IS_JAVA_12 = getJavaVersionMatches("12"); /** - * 取得当前Java impl.的版本(取自系统属性:java.version)。 + * 取得当前Java impl.的版本(取自系统属性:{@code java.version})。 * *

- * 例如Sun JDK 1.4.2:"1.4.2" + * 例如Sun JDK 1.4.2:{@code "1.4.2"} * - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 * @since Java 1.1 */ public final String getVersion() { @@ -45,35 +45,35 @@ public class JavaInfo implements Serializable { } /** - * 取得当前Java impl.的版本(取自系统属性:java.version)。 + * 取得当前Java impl.的版本(取自系统属性:{@code java.version})。 * *

* 例如: * *

    - *
  • JDK 1.2:1.2f
  • - *
  • JDK 1.3.1:1.31f
  • + *
  • JDK 1.2:{@code 1.2f}。
  • + *
  • JDK 1.3.1:{@code 1.31f}
  • *
* - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回0。 + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code 0}。 */ public final float getVersionFloat() { return JAVA_VERSION_FLOAT; } /** - * 取得当前Java impl.的版本(取自系统属性:java.version),java10及其之后的版本返回值为4位。 + * 取得当前Java impl.的版本(取自系统属性:{@code java.version}),java10及其之后的版本返回值为4位。 * *

* 例如: * *

    - *
  • JDK 1.2:120
  • - *
  • JDK 1.3.1:131
  • - *
  • JDK 11.0.2:1102
  • + *
  • JDK 1.2:{@code 120}。
  • + *
  • JDK 1.3.1:{@code 131}
  • + *
  • JDK 11.0.2:{@code 1102}
  • *
* - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回0。 + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code 0}。 * @since Java 1.1 */ public final int getVersionInt() { @@ -81,9 +81,9 @@ public class JavaInfo implements Serializable { } /** - * 取得当前Java impl.的版本的float值。 + * 取得当前Java impl.的版本的{@code float}值。 * - * @return Java版本的float值或0 + * @return Java版本的float值或{@code 0} */ private float getJavaVersionAsFloat() { if (JAVA_VERSION == null) { @@ -98,9 +98,9 @@ public class JavaInfo implements Serializable { } /** - * 取得当前Java impl.的版本的int值。 + * 取得当前Java impl.的版本的{@code int}值。 * - * @return Java版本的int值或0 + * @return Java版本的int值或{@code 0} */ private int getJavaVersionAsInt() { if (JAVA_VERSION == null) { @@ -121,12 +121,12 @@ public class JavaInfo implements Serializable { } /** - * 取得当前Java impl.的厂商(取自系统属性:java.vendor)。 + * 取得当前Java impl.的厂商(取自系统属性:{@code java.vendor})。 * *

- * 例如Sun JDK 1.4.2:"Sun Microsystems Inc." + * 例如Sun JDK 1.4.2:{@code "Sun Microsystems Inc."} * - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 * @since Java 1.1 */ public final String getVendor() { @@ -134,12 +134,12 @@ public class JavaInfo implements Serializable { } /** - * 取得当前Java impl.的厂商网站的URL(取自系统属性:java.vendor.url)。 + * 取得当前Java impl.的厂商网站的URL(取自系统属性:{@code java.vendor.url})。 * *

- * 例如Sun JDK 1.4.2:"http://java.sun.com/" + * 例如Sun JDK 1.4.2:{@code "http://java.sun.com/"} * - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 * @since Java 1.1 */ public final String getVendorURL() { @@ -150,9 +150,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为1.1,则返回true + * @return 如果当前Java版本为1.1,则返回{@code true} */ public final boolean isJava1_1() { return IS_JAVA_1_1; @@ -162,9 +162,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为1.2,则返回true + * @return 如果当前Java版本为1.2,则返回{@code true} */ public final boolean isJava1_2() { return IS_JAVA_1_2; @@ -174,9 +174,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为1.3,则返回true + * @return 如果当前Java版本为1.3,则返回{@code true} */ public final boolean isJava1_3() { return IS_JAVA_1_3; @@ -186,9 +186,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为1.4,则返回true + * @return 如果当前Java版本为1.4,则返回{@code true} */ public final boolean isJava1_4() { return IS_JAVA_1_4; @@ -198,9 +198,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为1.5,则返回true + * @return 如果当前Java版本为1.5,则返回{@code true} */ public final boolean isJava1_5() { return IS_JAVA_1_5; @@ -210,9 +210,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为1.6,则返回true + * @return 如果当前Java版本为1.6,则返回{@code true} */ public final boolean isJava1_6() { return IS_JAVA_1_6; @@ -222,9 +222,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为1.7,则返回true + * @return 如果当前Java版本为1.7,则返回{@code true} */ public final boolean isJava1_7() { return IS_JAVA_1_7; @@ -234,9 +234,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为1.8,则返回true + * @return 如果当前Java版本为1.8,则返回{@code true} */ public final boolean isJava1_8() { return IS_JAVA_1_8; @@ -246,9 +246,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为9,则返回true + * @return 如果当前Java版本为9,则返回{@code true} */ public final boolean isJava9() { return IS_JAVA_9; @@ -258,9 +258,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为10,则返回true + * @return 如果当前Java版本为10,则返回{@code true} */ public final boolean isJava10() { return IS_JAVA_10; @@ -270,9 +270,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为11,则返回true + * @return 如果当前Java版本为11,则返回{@code true} */ public final boolean isJava11() { return IS_JAVA_11; @@ -282,9 +282,9 @@ public class JavaInfo implements Serializable { * 判断当前Java的版本。 * *

- * 如果不能取得系统属性java.version(因为Java安全限制),则总是返回 false + * 如果不能取得系统属性{@code java.version}(因为Java安全限制),则总是返回 {@code false} * - * @return 如果当前Java版本为12,则返回true + * @return 如果当前Java版本为12,则返回{@code true} */ public final boolean isJava12() { return IS_JAVA_12; @@ -294,7 +294,7 @@ public class JavaInfo implements Serializable { * 匹配当前Java的版本。 * * @param versionPrefix Java版本前缀 - * @return 如果版本匹配,则返回true + * @return 如果版本匹配,则返回{@code true} */ private boolean getJavaVersionMatches(String versionPrefix) { if (JAVA_VERSION == null) { @@ -312,12 +312,12 @@ public class JavaInfo implements Serializable { * * *

    - *
  • 测试JDK 1.2:isJavaVersionAtLeast(1.2f)
  • - *
  • 测试JDK 1.2.1:isJavaVersionAtLeast(1.31f)
  • + *
  • 测试JDK 1.2:{@code isJavaVersionAtLeast(1.2f)}
  • + *
  • 测试JDK 1.2.1:{@code isJavaVersionAtLeast(1.31f)}
  • *
* * @param requiredVersion 需要的版本 - * @return 如果当前Java版本大于或等于指定的版本,则返回true + * @return 如果当前Java版本大于或等于指定的版本,则返回{@code true} */ public final boolean isJavaVersionAtLeast(float requiredVersion) { return getVersionFloat() >= requiredVersion; @@ -331,12 +331,12 @@ public class JavaInfo implements Serializable { * * *
    - *
  • 测试JDK 1.2:isJavaVersionAtLeast(120)
  • - *
  • 测试JDK 1.2.1:isJavaVersionAtLeast(131)
  • + *
  • 测试JDK 1.2:{@code isJavaVersionAtLeast(120)}
  • + *
  • 测试JDK 1.2.1:{@code isJavaVersionAtLeast(131)}
  • *
* * @param requiredVersion 需要的版本 - * @return 如果当前Java版本大于或等于指定的版本,则返回true + * @return 如果当前Java版本大于或等于指定的版本,则返回{@code true} */ public final boolean isJavaVersionAtLeast(int requiredVersion) { return getVersionInt() >= requiredVersion; diff --git a/hutool-system/src/main/java/cn/hutool/system/JavaRuntimeInfo.java b/hutool-extra/src/main/java/cn/hutool/extra/system/JavaRuntimeInfo.java similarity index 69% rename from hutool-system/src/main/java/cn/hutool/system/JavaRuntimeInfo.java rename to hutool-extra/src/main/java/cn/hutool/extra/system/JavaRuntimeInfo.java index bbfa02be4..08f2f6262 100644 --- a/hutool-system/src/main/java/cn/hutool/system/JavaRuntimeInfo.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/system/JavaRuntimeInfo.java @@ -1,4 +1,4 @@ -package cn.hutool.system; +package cn.hutool.extra.system; import cn.hutool.core.util.StrUtil; @@ -28,22 +28,22 @@ public class JavaRuntimeInfo implements Serializable{ } /** - * JVM is 32M or 64M + * JVM is 32M {@code or} 64M * - * @return 32 or 64 + * @return 32 {@code or} 64 */ public final String getSunArchDataModel() { return SUN_ARCH_DATA_MODEL; } /** - * 取得当前JRE的名称(取自系统属性:java.runtime.name)。 + * 取得当前JRE的名称(取自系统属性:{@code java.runtime.name})。 * *

- * 例如Sun JDK 1.4.2: "Java(TM) 2 Runtime Environment, Standard Edition" + * 例如Sun JDK 1.4.2: {@code "Java(TM) 2 Runtime Environment, Standard Edition"} *

* - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 * * @since Java 1.3 */ @@ -52,13 +52,13 @@ public class JavaRuntimeInfo implements Serializable{ } /** - * 取得当前JRE的版本(取自系统属性:java.runtime.version)。 + * 取得当前JRE的版本(取自系统属性:{@code java.runtime.version})。 * *

- * 例如Sun JDK 1.4.2:"1.4.2-b28" + * 例如Sun JDK 1.4.2:{@code "1.4.2-b28"} *

* - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 * * @since Java 1.3 */ @@ -67,13 +67,13 @@ public class JavaRuntimeInfo implements Serializable{ } /** - * 取得当前JRE的安装目录(取自系统属性:java.home)。 + * 取得当前JRE的安装目录(取自系统属性:{@code java.home})。 * *

- * 例如Sun JDK 1.4.2:"/opt/jdk1.4.2/jre" + * 例如Sun JDK 1.4.2:{@code "/opt/jdk1.4.2/jre"} *

* - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 * * @since Java 1.1 */ @@ -82,13 +82,13 @@ public class JavaRuntimeInfo implements Serializable{ } /** - * 取得当前JRE的扩展目录列表(取自系统属性:java.ext.dirs)。 + * 取得当前JRE的扩展目录列表(取自系统属性:{@code java.ext.dirs})。 * *

- * 例如Sun JDK 1.4.2:"/opt/jdk1.4.2/jre/lib/ext:..." + * 例如Sun JDK 1.4.2:{@code "/opt/jdk1.4.2/jre/lib/ext:..."} *

* - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 * * @since Java 1.3 */ @@ -97,13 +97,13 @@ public class JavaRuntimeInfo implements Serializable{ } /** - * 取得当前JRE的endorsed目录列表(取自系统属性:java.endorsed.dirs)。 + * 取得当前JRE的endorsed目录列表(取自系统属性:{@code java.endorsed.dirs})。 * *

- * 例如Sun JDK 1.4.2:"/opt/jdk1.4.2/jre/lib/endorsed:..." + * 例如Sun JDK 1.4.2:{@code "/opt/jdk1.4.2/jre/lib/endorsed:..."} *

* - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 * * @since Java 1.4 */ @@ -112,13 +112,13 @@ public class JavaRuntimeInfo implements Serializable{ } /** - * 取得当前JRE的系统classpath(取自系统属性:java.class.path)。 + * 取得当前JRE的系统classpath(取自系统属性:{@code java.class.path})。 * *

- * 例如:"/home/admin/myclasses:/home/admin/..." + * 例如:{@code "/home/admin/myclasses:/home/admin/..."} *

* - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 * * @since Java 1.1 */ @@ -127,13 +127,13 @@ public class JavaRuntimeInfo implements Serializable{ } /** - * 取得当前JRE的系统classpath(取自系统属性:java.class.path)。 + * 取得当前JRE的系统classpath(取自系统属性:{@code java.class.path})。 * *

- * 例如:"/home/admin/myclasses:/home/admin/..." + * 例如:{@code "/home/admin/myclasses:/home/admin/..."} *

* - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 * * @since Java 1.1 */ @@ -142,13 +142,13 @@ public class JavaRuntimeInfo implements Serializable{ } /** - * 取得当前JRE的class文件格式的版本(取自系统属性:java.class.version)。 + * 取得当前JRE的class文件格式的版本(取自系统属性:{@code java.class.version})。 * *

- * 例如Sun JDK 1.4.2:"48.0" + * 例如Sun JDK 1.4.2:{@code "48.0"} *

* - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 * * @since Java 1.1 */ @@ -157,13 +157,13 @@ public class JavaRuntimeInfo implements Serializable{ } /** - * 取得当前JRE的library搜索路径(取自系统属性:java.library.path)。 + * 取得当前JRE的library搜索路径(取自系统属性:{@code java.library.path})。 * *

- * 例如Sun JDK 1.4.2:"/opt/jdk1.4.2/bin:..." + * 例如Sun JDK 1.4.2:{@code "/opt/jdk1.4.2/bin:..."} *

* - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 * */ public final String getLibraryPath() { @@ -171,13 +171,13 @@ public class JavaRuntimeInfo implements Serializable{ } /** - * 取得当前JRE的library搜索路径(取自系统属性:java.library.path)。 + * 取得当前JRE的library搜索路径(取自系统属性:{@code java.library.path})。 * *

- * 例如Sun JDK 1.4.2:"/opt/jdk1.4.2/bin:..." + * 例如Sun JDK 1.4.2:{@code "/opt/jdk1.4.2/bin:..."} *

* - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 * * */ @@ -186,13 +186,13 @@ public class JavaRuntimeInfo implements Serializable{ } /** - * 取得当前JRE的URL协议packages列表(取自系统属性:java.library.path)。 + * 取得当前JRE的URL协议packages列表(取自系统属性:{@code java.library.path})。 * *

- * 例如Sun JDK 1.4.2:"sun.net.www.protocol|..." + * 例如Sun JDK 1.4.2:{@code "sun.net.www.protocol|..."} *

* - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 * * */ diff --git a/hutool-system/src/main/java/cn/hutool/system/JavaSpecInfo.java b/hutool-extra/src/main/java/cn/hutool/extra/system/JavaSpecInfo.java similarity index 66% rename from hutool-system/src/main/java/cn/hutool/system/JavaSpecInfo.java rename to hutool-extra/src/main/java/cn/hutool/extra/system/JavaSpecInfo.java index e5bc8544e..688db20ca 100644 --- a/hutool-system/src/main/java/cn/hutool/system/JavaSpecInfo.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/system/JavaSpecInfo.java @@ -1,4 +1,4 @@ -package cn.hutool.system; +package cn.hutool.extra.system; import java.io.Serializable; @@ -13,28 +13,28 @@ public class JavaSpecInfo implements Serializable{ private final String JAVA_SPECIFICATION_VENDOR = SystemUtil.get("java.specification.vendor", false); /** - * 取得当前Java Spec.的名称(取自系统属性:java.specification.name)。 - * + * 取得当前Java Spec.的名称(取自系统属性:{@code java.specification.name})。 + * *

- * 例如Sun JDK 1.4.2:"Java Platform API Specification" + * 例如Sun JDK 1.4.2:{@code "Java Platform API Specification"} *

- * - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 - * + * + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 + * */ public final String getName() { return JAVA_SPECIFICATION_NAME; } /** - * 取得当前Java Spec.的版本(取自系统属性:java.specification.version)。 - * + * 取得当前Java Spec.的版本(取自系统属性:{@code java.specification.version})。 + * *

- * 例如Sun JDK 1.4.2:"1.4" + * 例如Sun JDK 1.4.2:{@code "1.4"} *

- * - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 - * + * + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 + * * @since Java 1.3 */ public final String getVersion() { @@ -42,14 +42,14 @@ public class JavaSpecInfo implements Serializable{ } /** - * 取得当前Java Spec.的厂商(取自系统属性:java.specification.vendor)。 - * + * 取得当前Java Spec.的厂商(取自系统属性:{@code java.specification.vendor})。 + * *

- * 例如Sun JDK 1.4.2:"Sun Microsystems Inc." + * 例如Sun JDK 1.4.2:{@code "Sun Microsystems Inc."} *

- * - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 - * + * + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 + * */ public final String getVendor() { return JAVA_SPECIFICATION_VENDOR; @@ -57,7 +57,7 @@ public class JavaSpecInfo implements Serializable{ /** * 将Java Specification的信息转换成字符串。 - * + * * @return JVM spec.的字符串表示 */ @Override diff --git a/hutool-system/src/main/java/cn/hutool/system/JvmInfo.java b/hutool-extra/src/main/java/cn/hutool/extra/system/JvmInfo.java similarity index 64% rename from hutool-system/src/main/java/cn/hutool/system/JvmInfo.java rename to hutool-extra/src/main/java/cn/hutool/extra/system/JvmInfo.java index 9e55b8fd5..b995df7bb 100644 --- a/hutool-system/src/main/java/cn/hutool/system/JvmInfo.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/system/JvmInfo.java @@ -1,4 +1,4 @@ -package cn.hutool.system; +package cn.hutool.extra.system; import java.io.Serializable; @@ -14,56 +14,56 @@ public class JvmInfo implements Serializable{ private final String JAVA_VM_INFO = SystemUtil.get("java.vm.info", false); /** - * 取得当前JVM impl.的名称(取自系统属性:java.vm.name)。 - * + * 取得当前JVM impl.的名称(取自系统属性:{@code java.vm.name})。 + * *

- * 例如Sun JDK 1.4.2:"Java HotSpot(TM) Client VM" + * 例如Sun JDK 1.4.2:{@code "Java HotSpot(TM) Client VM"} *

- * - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 - * + * + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 + * */ public final String getName() { return JAVA_VM_NAME; } /** - * 取得当前JVM impl.的版本(取自系统属性:java.vm.version)。 - * + * 取得当前JVM impl.的版本(取自系统属性:{@code java.vm.version})。 + * *

- * 例如Sun JDK 1.4.2:"1.4.2-b28" + * 例如Sun JDK 1.4.2:{@code "1.4.2-b28"} *

- * - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 - * + * + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 + * */ public final String getVersion() { return JAVA_VM_VERSION; } /** - * 取得当前JVM impl.的厂商(取自系统属性:java.vm.vendor)。 - * + * 取得当前JVM impl.的厂商(取自系统属性:{@code java.vm.vendor})。 + * *

- * 例如Sun JDK 1.4.2:"Sun Microsystems Inc." + * 例如Sun JDK 1.4.2:{@code "Sun Microsystems Inc."} *

- * - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 - * + * + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 + * */ public final String getVendor() { return JAVA_VM_VENDOR; } /** - * 取得当前JVM impl.的信息(取自系统属性:java.vm.info)。 - * + * 取得当前JVM impl.的信息(取自系统属性:{@code java.vm.info})。 + * *

- * 例如Sun JDK 1.4.2:"mixed mode" + * 例如Sun JDK 1.4.2:{@code "mixed mode"} *

- * - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 - * + * + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 + * */ public final String getInfo() { return JAVA_VM_INFO; @@ -71,7 +71,7 @@ public class JvmInfo implements Serializable{ /** * 将Java Virutal Machine Implementation的信息转换成字符串。 - * + * * @return JVM impl.的字符串表示 */ @Override diff --git a/hutool-system/src/main/java/cn/hutool/system/JvmSpecInfo.java b/hutool-extra/src/main/java/cn/hutool/extra/system/JvmSpecInfo.java similarity index 66% rename from hutool-system/src/main/java/cn/hutool/system/JvmSpecInfo.java rename to hutool-extra/src/main/java/cn/hutool/extra/system/JvmSpecInfo.java index d3f1738d0..84f80f0cd 100644 --- a/hutool-system/src/main/java/cn/hutool/system/JvmSpecInfo.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/system/JvmSpecInfo.java @@ -1,4 +1,4 @@ -package cn.hutool.system; +package cn.hutool.extra.system; import java.io.Serializable; @@ -13,42 +13,42 @@ public class JvmSpecInfo implements Serializable{ private final String JAVA_VM_SPECIFICATION_VENDOR = SystemUtil.get("java.vm.specification.vendor", false); /** - * 取得当前JVM spec.的名称(取自系统属性:java.vm.specification.name)。 - * + * 取得当前JVM spec.的名称(取自系统属性:{@code java.vm.specification.name})。 + * *

- * 例如Sun JDK 1.4.2:"Java Virtual Machine Specification" + * 例如Sun JDK 1.4.2:{@code "Java Virtual Machine Specification"} *

- * - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 - * + * + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 + * */ public final String getName() { return JAVA_VM_SPECIFICATION_NAME; } /** - * 取得当前JVM spec.的版本(取自系统属性:java.vm.specification.version)。 - * + * 取得当前JVM spec.的版本(取自系统属性:{@code java.vm.specification.version})。 + * *

- * 例如Sun JDK 1.4.2:"1.0" + * 例如Sun JDK 1.4.2:{@code "1.0"} *

- * - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 - * + * + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 + * */ public final String getVersion() { return JAVA_VM_SPECIFICATION_VERSION; } /** - * 取得当前JVM spec.的厂商(取自系统属性:java.vm.specification.vendor)。 - * + * 取得当前JVM spec.的厂商(取自系统属性:{@code java.vm.specification.vendor})。 + * *

- * 例如Sun JDK 1.4.2:"Sun Microsystems Inc." + * 例如Sun JDK 1.4.2:{@code "Sun Microsystems Inc."} *

- * - * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回null。 - * + * + * @return 属性值,如果不能取得(因为Java安全限制)或值不存在,则返回{@code null}。 + * */ public final String getVendor() { return JAVA_VM_SPECIFICATION_VENDOR; @@ -56,7 +56,7 @@ public class JvmSpecInfo implements Serializable{ /** * 将Java Virutal Machine Specification的信息转换成字符串。 - * + * * @return JVM spec.的字符串表示 */ @Override diff --git a/hutool-system/src/main/java/cn/hutool/system/OsInfo.java b/hutool-extra/src/main/java/cn/hutool/extra/system/OsInfo.java similarity index 99% rename from hutool-system/src/main/java/cn/hutool/system/OsInfo.java rename to hutool-extra/src/main/java/cn/hutool/extra/system/OsInfo.java index 7d7337e47..c626c4053 100644 --- a/hutool-system/src/main/java/cn/hutool/system/OsInfo.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/system/OsInfo.java @@ -1,4 +1,4 @@ -package cn.hutool.system; +package cn.hutool.extra.system; import java.io.Serializable; diff --git a/hutool-system/src/main/java/cn/hutool/system/RuntimeInfo.java b/hutool-extra/src/main/java/cn/hutool/extra/system/RuntimeInfo.java similarity index 98% rename from hutool-system/src/main/java/cn/hutool/system/RuntimeInfo.java rename to hutool-extra/src/main/java/cn/hutool/extra/system/RuntimeInfo.java index 8da0828dd..4f85ed0ac 100644 --- a/hutool-system/src/main/java/cn/hutool/system/RuntimeInfo.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/system/RuntimeInfo.java @@ -1,4 +1,4 @@ -package cn.hutool.system; +package cn.hutool.extra.system; import cn.hutool.core.io.FileUtil; diff --git a/hutool-system/src/main/java/cn/hutool/system/SystemPropsKeys.java b/hutool-extra/src/main/java/cn/hutool/extra/system/SystemPropsKeys.java similarity index 98% rename from hutool-system/src/main/java/cn/hutool/system/SystemPropsKeys.java rename to hutool-extra/src/main/java/cn/hutool/extra/system/SystemPropsKeys.java index 07307b665..1e0ca63f4 100644 --- a/hutool-system/src/main/java/cn/hutool/system/SystemPropsKeys.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/system/SystemPropsKeys.java @@ -1,4 +1,4 @@ -package cn.hutool.system; +package cn.hutool.extra.system; /** * 系统属性名称常量池 diff --git a/hutool-system/src/main/java/cn/hutool/system/SystemUtil.java b/hutool-extra/src/main/java/cn/hutool/extra/system/SystemUtil.java similarity index 98% rename from hutool-system/src/main/java/cn/hutool/system/SystemUtil.java rename to hutool-extra/src/main/java/cn/hutool/extra/system/SystemUtil.java index 6a561b727..cbdd6a157 100644 --- a/hutool-system/src/main/java/cn/hutool/system/SystemUtil.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/system/SystemUtil.java @@ -1,4 +1,4 @@ -package cn.hutool.system; +package cn.hutool.extra.system; import cn.hutool.core.convert.Convert; import cn.hutool.core.lang.Singleton; @@ -20,7 +20,7 @@ import java.util.List; /** * Java的System类封装工具类。
- * 参考:http://blog.csdn.net/zhongweijian/article/details/7619383 + * 参考:http://blog.csdn.net/zhongweijian/article/details/7619383 * * @author Looly */ diff --git a/hutool-system/src/main/java/cn/hutool/system/UserInfo.java b/hutool-extra/src/main/java/cn/hutool/extra/system/UserInfo.java similarity index 99% rename from hutool-system/src/main/java/cn/hutool/system/UserInfo.java rename to hutool-extra/src/main/java/cn/hutool/extra/system/UserInfo.java index 7a52566b2..ab9b66e78 100644 --- a/hutool-system/src/main/java/cn/hutool/system/UserInfo.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/system/UserInfo.java @@ -1,4 +1,4 @@ -package cn.hutool.system; +package cn.hutool.extra.system; import cn.hutool.core.util.StrUtil; diff --git a/hutool-system/src/main/java/cn/hutool/system/oshi/CpuInfo.java b/hutool-extra/src/main/java/cn/hutool/extra/system/oshi/CpuInfo.java similarity index 99% rename from hutool-system/src/main/java/cn/hutool/system/oshi/CpuInfo.java rename to hutool-extra/src/main/java/cn/hutool/extra/system/oshi/CpuInfo.java index c9d3fdb47..48e66458a 100644 --- a/hutool-system/src/main/java/cn/hutool/system/oshi/CpuInfo.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/system/oshi/CpuInfo.java @@ -1,4 +1,4 @@ -package cn.hutool.system.oshi; +package cn.hutool.extra.system.oshi; import cn.hutool.core.util.NumberUtil; import oshi.hardware.CentralProcessor; diff --git a/hutool-system/src/main/java/cn/hutool/system/oshi/CpuTicks.java b/hutool-extra/src/main/java/cn/hutool/extra/system/oshi/CpuTicks.java similarity index 98% rename from hutool-system/src/main/java/cn/hutool/system/oshi/CpuTicks.java rename to hutool-extra/src/main/java/cn/hutool/extra/system/oshi/CpuTicks.java index 634c31ffd..62a5a86e7 100644 --- a/hutool-system/src/main/java/cn/hutool/system/oshi/CpuTicks.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/system/oshi/CpuTicks.java @@ -1,4 +1,4 @@ -package cn.hutool.system.oshi; +package cn.hutool.extra.system.oshi; import oshi.hardware.CentralProcessor; import oshi.util.Util; diff --git a/hutool-system/src/main/java/cn/hutool/system/oshi/OshiUtil.java b/hutool-extra/src/main/java/cn/hutool/extra/system/oshi/OshiUtil.java similarity index 96% rename from hutool-system/src/main/java/cn/hutool/system/oshi/OshiUtil.java rename to hutool-extra/src/main/java/cn/hutool/extra/system/oshi/OshiUtil.java index 3da3a517f..330d4f7d0 100644 --- a/hutool-system/src/main/java/cn/hutool/system/oshi/OshiUtil.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/system/oshi/OshiUtil.java @@ -1,4 +1,4 @@ -package cn.hutool.system.oshi; +package cn.hutool.extra.system.oshi; import oshi.SystemInfo; import oshi.hardware.CentralProcessor; @@ -21,7 +21,7 @@ import java.util.List; * 2、硬件信息 * *

- * 相关内容见:https://github.com/oshi/oshi + * 相关内容见:https://github.com/oshi/oshi * * @author Looly * @since 4.6.4 diff --git a/hutool-system/src/main/java/cn/hutool/system/oshi/package-info.java b/hutool-extra/src/main/java/cn/hutool/extra/system/oshi/package-info.java similarity index 70% rename from hutool-system/src/main/java/cn/hutool/system/oshi/package-info.java rename to hutool-extra/src/main/java/cn/hutool/extra/system/oshi/package-info.java index d30612772..d5e3832cd 100644 --- a/hutool-system/src/main/java/cn/hutool/system/oshi/package-info.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/system/oshi/package-info.java @@ -1,8 +1,8 @@ /** * Oshi库封装
* https://github.com/oshi/oshi - * + * * @author Looly * @since 4.6.4 */ -package cn.hutool.system.oshi; \ No newline at end of file +package cn.hutool.extra.system.oshi; diff --git a/hutool-system/src/main/java/cn/hutool/system/package-info.java b/hutool-extra/src/main/java/cn/hutool/extra/system/package-info.java similarity index 78% rename from hutool-system/src/main/java/cn/hutool/system/package-info.java rename to hutool-extra/src/main/java/cn/hutool/extra/system/package-info.java index 7de599f0d..cef4ea918 100644 --- a/hutool-system/src/main/java/cn/hutool/system/package-info.java +++ b/hutool-extra/src/main/java/cn/hutool/extra/system/package-info.java @@ -1,7 +1,7 @@ /** * System模块主要获取系统、JVM、内存、CPU等信息,以便动态监测系统状态 - * + * * @author looly * */ -package cn.hutool.system; \ No newline at end of file +package cn.hutool.extra.system; diff --git a/hutool-extra/src/main/resources/META-INF/services/cn.hutool.extra.aop.proxy.ProxyFactory b/hutool-extra/src/main/resources/META-INF/services/cn.hutool.extra.aop.proxy.ProxyFactory new file mode 100644 index 000000000..8541a2eaa --- /dev/null +++ b/hutool-extra/src/main/resources/META-INF/services/cn.hutool.extra.aop.proxy.ProxyFactory @@ -0,0 +1,3 @@ +cn.hutool.extra.aop.proxy.CglibProxyFactory +cn.hutool.extra.aop.proxy.SpringCglibProxyFactory +cn.hutool.extra.aop.proxy.JdkProxyFactory diff --git a/hutool-aop/src/test/java/cn/hutool/aop/test/AopTest.java b/hutool-extra/src/test/java/cn/hutool/extra/aop/AopTest.java similarity index 92% rename from hutool-aop/src/test/java/cn/hutool/aop/test/AopTest.java rename to hutool-extra/src/test/java/cn/hutool/extra/aop/AopTest.java index 079858775..73f8a69c1 100644 --- a/hutool-aop/src/test/java/cn/hutool/aop/test/AopTest.java +++ b/hutool-extra/src/test/java/cn/hutool/extra/aop/AopTest.java @@ -1,8 +1,7 @@ -package cn.hutool.aop.test; +package cn.hutool.extra.aop; -import cn.hutool.aop.ProxyUtil; -import cn.hutool.aop.aspects.TimeIntervalAspect; import cn.hutool.core.lang.Console; +import cn.hutool.extra.aop.aspects.TimeIntervalAspect; import lombok.Data; import org.junit.Assert; import org.junit.Test; diff --git a/hutool-extra/src/test/java/cn/hutool/extra/qrcode/QrCodeUtilTest.java b/hutool-extra/src/test/java/cn/hutool/extra/qrcode/QrCodeUtilTest.java index 30dde68d6..5af960c89 100644 --- a/hutool-extra/src/test/java/cn/hutool/extra/qrcode/QrCodeUtilTest.java +++ b/hutool-extra/src/test/java/cn/hutool/extra/qrcode/QrCodeUtilTest.java @@ -1,7 +1,7 @@ package cn.hutool.extra.qrcode; import cn.hutool.core.codec.Base64; -import cn.hutool.core.img.ImgUtil; +import cn.hutool.swing.img.ImgUtil; import cn.hutool.core.io.FileUtil; import cn.hutool.core.lang.Console; import com.google.zxing.BarcodeFormat; diff --git a/hutool-system/src/test/java/cn/hutool/system/OshiPrintTest.java b/hutool-extra/src/test/java/cn/hutool/extra/system/OshiPrintTest.java similarity index 73% rename from hutool-system/src/test/java/cn/hutool/system/OshiPrintTest.java rename to hutool-extra/src/test/java/cn/hutool/extra/system/OshiPrintTest.java index 5be58e42b..be1597199 100644 --- a/hutool-system/src/test/java/cn/hutool/system/OshiPrintTest.java +++ b/hutool-extra/src/test/java/cn/hutool/extra/system/OshiPrintTest.java @@ -1,7 +1,7 @@ -package cn.hutool.system; +package cn.hutool.extra.system; import cn.hutool.core.lang.Console; -import cn.hutool.system.oshi.OshiUtil; +import cn.hutool.extra.system.oshi.OshiUtil; import org.junit.Ignore; import org.junit.Test; diff --git a/hutool-system/src/test/java/cn/hutool/system/OshiTest.java b/hutool-extra/src/test/java/cn/hutool/extra/system/OshiTest.java similarity index 63% rename from hutool-system/src/test/java/cn/hutool/system/OshiTest.java rename to hutool-extra/src/test/java/cn/hutool/extra/system/OshiTest.java index 2bddf3b0b..915a688e4 100644 --- a/hutool-system/src/test/java/cn/hutool/system/OshiTest.java +++ b/hutool-extra/src/test/java/cn/hutool/extra/system/OshiTest.java @@ -1,15 +1,15 @@ -package cn.hutool.system; +package cn.hutool.extra.system; import cn.hutool.core.lang.Console; -import cn.hutool.system.oshi.CpuInfo; -import cn.hutool.system.oshi.OshiUtil; +import cn.hutool.extra.system.oshi.CpuInfo; +import cn.hutool.extra.system.oshi.OshiUtil; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; import oshi.software.os.OSProcess; /** - * 测试参考:https://github.com/oshi/oshi/blob/master/oshi-core/src/test/java/oshi/SystemInfoTest.java + * 测试参考:https://github.com/oshi/oshi/blob/master/oshi-core/src/test/java/oshi/SystemInfoTest.java */ public class OshiTest { @@ -33,8 +33,8 @@ public class OshiTest { @Test @Ignore - public void getUsedTest(){ - while (true){ + public void getUsedTest() { + while (true) { Console.log(OshiUtil.getCpuInfo().getUsed()); } } diff --git a/hutool-system/src/test/java/cn/hutool/system/SystemUtilTest.java b/hutool-extra/src/test/java/cn/hutool/extra/system/SystemUtilTest.java similarity index 97% rename from hutool-system/src/test/java/cn/hutool/system/SystemUtilTest.java rename to hutool-extra/src/test/java/cn/hutool/extra/system/SystemUtilTest.java index 0602d835f..5919a8ae3 100644 --- a/hutool-system/src/test/java/cn/hutool/system/SystemUtilTest.java +++ b/hutool-extra/src/test/java/cn/hutool/extra/system/SystemUtilTest.java @@ -1,4 +1,4 @@ -package cn.hutool.system; +package cn.hutool.extra.system; import org.junit.Assert; import org.junit.Ignore; diff --git a/hutool-http/pom.xml b/hutool-http/pom.xml index 8ddc534f7..63a4a7dc3 100755 --- a/hutool-http/pom.xml +++ b/hutool-http/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.8.0.M5 + 6.0.0.M1 hutool-http diff --git a/hutool-http/src/main/java/cn/hutool/http/HtmlUtil.java b/hutool-http/src/main/java/cn/hutool/http/HtmlUtil.java index b34ec1fe0..bdb5d801c 100644 --- a/hutool-http/src/main/java/cn/hutool/http/HtmlUtil.java +++ b/hutool-http/src/main/java/cn/hutool/http/HtmlUtil.java @@ -1,6 +1,6 @@ package cn.hutool.http; -import cn.hutool.core.util.EscapeUtil; +import cn.hutool.core.text.escape.EscapeUtil; import cn.hutool.core.util.ReUtil; import cn.hutool.core.util.StrUtil; diff --git a/hutool-http/src/test/java/cn/hutool/http/server/BlankServerTest.java b/hutool-http/src/test/java/cn/hutool/http/server/BlankServerTest.java index c39bfab75..2e44643a9 100644 --- a/hutool-http/src/test/java/cn/hutool/http/server/BlankServerTest.java +++ b/hutool-http/src/test/java/cn/hutool/http/server/BlankServerTest.java @@ -1,6 +1,5 @@ package cn.hutool.http.server; -import cn.hutool.core.swing.DesktopUtil; import cn.hutool.http.ContentType; import cn.hutool.http.HttpUtil; @@ -9,7 +8,5 @@ public class BlankServerTest { HttpUtil.createServer(8888) .addAction("/", (req, res)-> res.write("Hello Hutool Server", ContentType.JSON.getValue())) .start(); - - DesktopUtil.browse("http://localhost:8888/"); } } diff --git a/hutool-http/src/test/java/cn/hutool/http/server/DocServerTest.java b/hutool-http/src/test/java/cn/hutool/http/server/DocServerTest.java index 1648b56ca..3776bfd83 100644 --- a/hutool-http/src/test/java/cn/hutool/http/server/DocServerTest.java +++ b/hutool-http/src/test/java/cn/hutool/http/server/DocServerTest.java @@ -1,6 +1,5 @@ package cn.hutool.http.server; -import cn.hutool.core.swing.DesktopUtil; import cn.hutool.http.HttpUtil; public class DocServerTest { @@ -10,7 +9,5 @@ public class DocServerTest { // 设置默认根目录, .setRoot("D:\\workspace\\site\\hutool-site") .start(); - - DesktopUtil.browse("http://localhost/"); } } diff --git a/hutool-json/pom.xml b/hutool-json/pom.xml index 0c3b52525..6c412360d 100755 --- a/hutool-json/pom.xml +++ b/hutool-json/pom.xml @@ -9,18 +9,35 @@ cn.hutool hutool-parent - 5.8.0.M5 + 6.0.0.M1 hutool-json ${project.artifactId} Hutool JSON封装 + + + 1.70 + + cn.hutool hutool-core ${project.parent.version} + + cn.hutool + hutool-crypto + ${project.parent.version} + + + + org.bouncycastle + bcprov-jdk15to18 + ${bouncycastle.version} + test + diff --git a/hutool-json/src/main/java/cn/hutool/json/JSONUtil.java b/hutool-json/src/main/java/cn/hutool/json/JSONUtil.java index 7938ed3c6..85108d2f3 100755 --- a/hutool-json/src/main/java/cn/hutool/json/JSONUtil.java +++ b/hutool-json/src/main/java/cn/hutool/json/JSONUtil.java @@ -6,7 +6,7 @@ import cn.hutool.core.lang.TypeReference; import cn.hutool.core.map.MapWrapper; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.ClassUtil; -import cn.hutool.core.util.HexUtil; +import cn.hutool.core.codec.HexUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.core.util.TypeUtil; diff --git a/hutool-jwt/src/main/java/cn/hutool/jwt/Claims.java b/hutool-json/src/main/java/cn/hutool/json/jwt/Claims.java similarity index 98% rename from hutool-jwt/src/main/java/cn/hutool/jwt/Claims.java rename to hutool-json/src/main/java/cn/hutool/json/jwt/Claims.java index 39fd05db7..5ae1d1a84 100644 --- a/hutool-jwt/src/main/java/cn/hutool/jwt/Claims.java +++ b/hutool-json/src/main/java/cn/hutool/json/jwt/Claims.java @@ -1,4 +1,4 @@ -package cn.hutool.jwt; +package cn.hutool.json.jwt; import cn.hutool.core.codec.Base64; import cn.hutool.core.lang.Assert; diff --git a/hutool-jwt/src/main/java/cn/hutool/jwt/JWT.java b/hutool-json/src/main/java/cn/hutool/json/jwt/JWT.java similarity index 96% rename from hutool-jwt/src/main/java/cn/hutool/jwt/JWT.java rename to hutool-json/src/main/java/cn/hutool/json/jwt/JWT.java index 7e2708fa4..6109b6c03 100644 --- a/hutool-jwt/src/main/java/cn/hutool/jwt/JWT.java +++ b/hutool-json/src/main/java/cn/hutool/json/jwt/JWT.java @@ -1,4 +1,4 @@ -package cn.hutool.jwt; +package cn.hutool.json.jwt; import cn.hutool.core.codec.Base64; import cn.hutool.core.collection.CollUtil; @@ -9,10 +9,10 @@ import cn.hutool.core.util.CharUtil; import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONObject; -import cn.hutool.jwt.signers.AlgorithmUtil; -import cn.hutool.jwt.signers.JWTSigner; -import cn.hutool.jwt.signers.JWTSignerUtil; -import cn.hutool.jwt.signers.NoneJWTSigner; +import cn.hutool.json.jwt.signers.AlgorithmUtil; +import cn.hutool.json.jwt.signers.JWTSigner; +import cn.hutool.json.jwt.signers.JWTSignerUtil; +import cn.hutool.json.jwt.signers.NoneJWTSigner; import java.nio.charset.Charset; import java.security.Key; @@ -31,7 +31,7 @@ import java.util.Map; * * *

- * 详细介绍见;https://www.jianshu.com/p/576dbf44b2ae + * 详细介绍见;https://www.jianshu.com/p/576dbf44b2ae *

* * @author looly diff --git a/hutool-jwt/src/main/java/cn/hutool/jwt/JWTException.java b/hutool-json/src/main/java/cn/hutool/json/jwt/JWTException.java similarity index 97% rename from hutool-jwt/src/main/java/cn/hutool/jwt/JWTException.java rename to hutool-json/src/main/java/cn/hutool/json/jwt/JWTException.java index 4cd488f82..44ccc85ce 100644 --- a/hutool-jwt/src/main/java/cn/hutool/jwt/JWTException.java +++ b/hutool-json/src/main/java/cn/hutool/json/jwt/JWTException.java @@ -1,4 +1,4 @@ -package cn.hutool.jwt; +package cn.hutool.json.jwt; import cn.hutool.core.exceptions.ExceptionUtil; import cn.hutool.core.util.StrUtil; diff --git a/hutool-jwt/src/main/java/cn/hutool/jwt/JWTHeader.java b/hutool-json/src/main/java/cn/hutool/json/jwt/JWTHeader.java similarity index 97% rename from hutool-jwt/src/main/java/cn/hutool/jwt/JWTHeader.java rename to hutool-json/src/main/java/cn/hutool/json/jwt/JWTHeader.java index 914f6248f..ef55b6457 100644 --- a/hutool-jwt/src/main/java/cn/hutool/jwt/JWTHeader.java +++ b/hutool-json/src/main/java/cn/hutool/json/jwt/JWTHeader.java @@ -1,4 +1,4 @@ -package cn.hutool.jwt; +package cn.hutool.json.jwt; import java.util.Map; diff --git a/hutool-jwt/src/main/java/cn/hutool/jwt/JWTPayload.java b/hutool-json/src/main/java/cn/hutool/json/jwt/JWTPayload.java similarity index 85% rename from hutool-jwt/src/main/java/cn/hutool/jwt/JWTPayload.java rename to hutool-json/src/main/java/cn/hutool/json/jwt/JWTPayload.java index 52e716b44..21ffbc9cc 100644 --- a/hutool-jwt/src/main/java/cn/hutool/jwt/JWTPayload.java +++ b/hutool-json/src/main/java/cn/hutool/json/jwt/JWTPayload.java @@ -1,4 +1,4 @@ -package cn.hutool.jwt; +package cn.hutool.json.jwt; import java.util.Map; @@ -12,7 +12,7 @@ import java.util.Map; *
  • 私有的声明
  • * *

    - * 详细介绍见:https://www.jianshu.com/p/576dbf44b2ae + * 详细介绍见:https://www.jianshu.com/p/576dbf44b2ae * * @author looly * @since 5.7.0 diff --git a/hutool-jwt/src/main/java/cn/hutool/jwt/JWTUtil.java b/hutool-json/src/main/java/cn/hutool/json/jwt/JWTUtil.java similarity index 96% rename from hutool-jwt/src/main/java/cn/hutool/jwt/JWTUtil.java rename to hutool-json/src/main/java/cn/hutool/json/jwt/JWTUtil.java index 07f486e6e..8032cd4f4 100644 --- a/hutool-jwt/src/main/java/cn/hutool/jwt/JWTUtil.java +++ b/hutool-json/src/main/java/cn/hutool/json/jwt/JWTUtil.java @@ -1,6 +1,6 @@ -package cn.hutool.jwt; +package cn.hutool.json.jwt; -import cn.hutool.jwt.signers.JWTSigner; +import cn.hutool.json.jwt.signers.JWTSigner; import java.util.Map; diff --git a/hutool-jwt/src/main/java/cn/hutool/jwt/JWTValidator.java b/hutool-json/src/main/java/cn/hutool/json/jwt/JWTValidator.java similarity index 98% rename from hutool-jwt/src/main/java/cn/hutool/jwt/JWTValidator.java rename to hutool-json/src/main/java/cn/hutool/json/jwt/JWTValidator.java index 77f7c2591..3dabb96fc 100644 --- a/hutool-jwt/src/main/java/cn/hutool/jwt/JWTValidator.java +++ b/hutool-json/src/main/java/cn/hutool/json/jwt/JWTValidator.java @@ -1,10 +1,10 @@ -package cn.hutool.jwt; +package cn.hutool.json.jwt; import cn.hutool.core.date.DateUtil; import cn.hutool.core.exceptions.ValidateException; import cn.hutool.core.util.StrUtil; -import cn.hutool.jwt.signers.JWTSigner; -import cn.hutool.jwt.signers.NoneJWTSigner; +import cn.hutool.json.jwt.signers.JWTSigner; +import cn.hutool.json.jwt.signers.NoneJWTSigner; import java.util.Date; diff --git a/hutool-jwt/src/main/java/cn/hutool/jwt/RegisteredPayload.java b/hutool-json/src/main/java/cn/hutool/json/jwt/RegisteredPayload.java similarity index 98% rename from hutool-jwt/src/main/java/cn/hutool/jwt/RegisteredPayload.java rename to hutool-json/src/main/java/cn/hutool/json/jwt/RegisteredPayload.java index f0c0fc8e0..ebab18a40 100644 --- a/hutool-jwt/src/main/java/cn/hutool/jwt/RegisteredPayload.java +++ b/hutool-json/src/main/java/cn/hutool/json/jwt/RegisteredPayload.java @@ -1,4 +1,4 @@ -package cn.hutool.jwt; +package cn.hutool.json.jwt; import java.util.Date; diff --git a/hutool-jwt/src/main/java/cn/hutool/jwt/package-info.java b/hutool-json/src/main/java/cn/hutool/json/jwt/package-info.java similarity index 57% rename from hutool-jwt/src/main/java/cn/hutool/jwt/package-info.java rename to hutool-json/src/main/java/cn/hutool/json/jwt/package-info.java index f2670a9ed..d7d6359f4 100644 --- a/hutool-jwt/src/main/java/cn/hutool/jwt/package-info.java +++ b/hutool-json/src/main/java/cn/hutool/json/jwt/package-info.java @@ -1,4 +1,4 @@ /** * JSON Web Token (JWT)封装 */ -package cn.hutool.jwt; +package cn.hutool.json.jwt; diff --git a/hutool-jwt/src/main/java/cn/hutool/jwt/signers/AlgorithmUtil.java b/hutool-json/src/main/java/cn/hutool/json/jwt/signers/AlgorithmUtil.java similarity index 98% rename from hutool-jwt/src/main/java/cn/hutool/jwt/signers/AlgorithmUtil.java rename to hutool-json/src/main/java/cn/hutool/json/jwt/signers/AlgorithmUtil.java index 1aa8e2b1e..b2d51111b 100644 --- a/hutool-jwt/src/main/java/cn/hutool/jwt/signers/AlgorithmUtil.java +++ b/hutool-json/src/main/java/cn/hutool/json/jwt/signers/AlgorithmUtil.java @@ -1,4 +1,4 @@ -package cn.hutool.jwt.signers; +package cn.hutool.json.jwt.signers; import cn.hutool.core.map.BiMap; import cn.hutool.core.util.ObjectUtil; diff --git a/hutool-jwt/src/main/java/cn/hutool/jwt/signers/AsymmetricJWTSigner.java b/hutool-json/src/main/java/cn/hutool/json/jwt/signers/AsymmetricJWTSigner.java similarity index 98% rename from hutool-jwt/src/main/java/cn/hutool/jwt/signers/AsymmetricJWTSigner.java rename to hutool-json/src/main/java/cn/hutool/json/jwt/signers/AsymmetricJWTSigner.java index 4d9a4cb34..8700b665c 100644 --- a/hutool-jwt/src/main/java/cn/hutool/jwt/signers/AsymmetricJWTSigner.java +++ b/hutool-json/src/main/java/cn/hutool/json/jwt/signers/AsymmetricJWTSigner.java @@ -1,4 +1,4 @@ -package cn.hutool.jwt.signers; +package cn.hutool.json.jwt.signers; import cn.hutool.core.codec.Base64; import cn.hutool.core.util.CharsetUtil; diff --git a/hutool-jwt/src/main/java/cn/hutool/jwt/signers/HMacJWTSigner.java b/hutool-json/src/main/java/cn/hutool/json/jwt/signers/HMacJWTSigner.java similarity index 97% rename from hutool-jwt/src/main/java/cn/hutool/jwt/signers/HMacJWTSigner.java rename to hutool-json/src/main/java/cn/hutool/json/jwt/signers/HMacJWTSigner.java index daa50b2f1..e21ae7019 100644 --- a/hutool-jwt/src/main/java/cn/hutool/jwt/signers/HMacJWTSigner.java +++ b/hutool-json/src/main/java/cn/hutool/json/jwt/signers/HMacJWTSigner.java @@ -1,4 +1,4 @@ -package cn.hutool.jwt.signers; +package cn.hutool.json.jwt.signers; import cn.hutool.core.util.CharsetUtil; import cn.hutool.core.util.StrUtil; diff --git a/hutool-jwt/src/main/java/cn/hutool/jwt/signers/JWTSigner.java b/hutool-json/src/main/java/cn/hutool/json/jwt/signers/JWTSigner.java similarity index 96% rename from hutool-jwt/src/main/java/cn/hutool/jwt/signers/JWTSigner.java rename to hutool-json/src/main/java/cn/hutool/json/jwt/signers/JWTSigner.java index b6301a4bd..4b8f37bac 100644 --- a/hutool-jwt/src/main/java/cn/hutool/jwt/signers/JWTSigner.java +++ b/hutool-json/src/main/java/cn/hutool/json/jwt/signers/JWTSigner.java @@ -1,4 +1,4 @@ -package cn.hutool.jwt.signers; +package cn.hutool.json.jwt.signers; /** * JWT签名接口封装,通过实现此接口,完成不同算法的签名功能 diff --git a/hutool-jwt/src/main/java/cn/hutool/jwt/signers/JWTSignerUtil.java b/hutool-json/src/main/java/cn/hutool/json/jwt/signers/JWTSignerUtil.java similarity index 99% rename from hutool-jwt/src/main/java/cn/hutool/jwt/signers/JWTSignerUtil.java rename to hutool-json/src/main/java/cn/hutool/json/jwt/signers/JWTSignerUtil.java index 82076ad23..fc1b4b7eb 100644 --- a/hutool-jwt/src/main/java/cn/hutool/jwt/signers/JWTSignerUtil.java +++ b/hutool-json/src/main/java/cn/hutool/json/jwt/signers/JWTSignerUtil.java @@ -1,4 +1,4 @@ -package cn.hutool.jwt.signers; +package cn.hutool.json.jwt.signers; import cn.hutool.core.lang.Assert; diff --git a/hutool-jwt/src/main/java/cn/hutool/jwt/signers/NoneJWTSigner.java b/hutool-json/src/main/java/cn/hutool/json/jwt/signers/NoneJWTSigner.java similarity index 94% rename from hutool-jwt/src/main/java/cn/hutool/jwt/signers/NoneJWTSigner.java rename to hutool-json/src/main/java/cn/hutool/json/jwt/signers/NoneJWTSigner.java index 39a3e4442..c9e89c62e 100644 --- a/hutool-jwt/src/main/java/cn/hutool/jwt/signers/NoneJWTSigner.java +++ b/hutool-json/src/main/java/cn/hutool/json/jwt/signers/NoneJWTSigner.java @@ -1,4 +1,4 @@ -package cn.hutool.jwt.signers; +package cn.hutool.json.jwt.signers; import cn.hutool.core.util.StrUtil; diff --git a/hutool-json/src/main/java/cn/hutool/json/jwt/signers/package-info.java b/hutool-json/src/main/java/cn/hutool/json/jwt/signers/package-info.java new file mode 100644 index 000000000..86732c2b4 --- /dev/null +++ b/hutool-json/src/main/java/cn/hutool/json/jwt/signers/package-info.java @@ -0,0 +1,4 @@ +/** + * JWT签名封装 + */ +package cn.hutool.json.jwt.signers; diff --git a/hutool-json/src/main/java/cn/hutool/json/xml/JSONXMLSerializer.java b/hutool-json/src/main/java/cn/hutool/json/xml/JSONXMLSerializer.java index fa6dd1e34..597da6adc 100644 --- a/hutool-json/src/main/java/cn/hutool/json/xml/JSONXMLSerializer.java +++ b/hutool-json/src/main/java/cn/hutool/json/xml/JSONXMLSerializer.java @@ -2,7 +2,7 @@ package cn.hutool.json.xml; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.CharUtil; -import cn.hutool.core.util.EscapeUtil; +import cn.hutool.core.text.escape.EscapeUtil; import cn.hutool.core.util.StrUtil; import cn.hutool.json.JSONArray; import cn.hutool.json.JSONException; diff --git a/hutool-jwt/src/test/java/cn/hutool/jwt/JWTSignerTest.java b/hutool-json/src/test/java/cn/hutool/json/jwt/JWTSignerTest.java similarity index 95% rename from hutool-jwt/src/test/java/cn/hutool/jwt/JWTSignerTest.java rename to hutool-json/src/test/java/cn/hutool/json/jwt/JWTSignerTest.java index c0e0d622b..f84eef44e 100644 --- a/hutool-jwt/src/test/java/cn/hutool/jwt/JWTSignerTest.java +++ b/hutool-json/src/test/java/cn/hutool/json/jwt/JWTSignerTest.java @@ -1,10 +1,10 @@ -package cn.hutool.jwt; +package cn.hutool.json.jwt; import cn.hutool.core.date.DateUtil; import cn.hutool.crypto.KeyUtil; -import cn.hutool.jwt.signers.AlgorithmUtil; -import cn.hutool.jwt.signers.JWTSigner; -import cn.hutool.jwt.signers.JWTSignerUtil; +import cn.hutool.json.jwt.signers.AlgorithmUtil; +import cn.hutool.json.jwt.signers.JWTSigner; +import cn.hutool.json.jwt.signers.JWTSignerUtil; import org.junit.Assert; import org.junit.Test; diff --git a/hutool-jwt/src/test/java/cn/hutool/jwt/JWTTest.java b/hutool-json/src/test/java/cn/hutool/json/jwt/JWTTest.java similarity index 97% rename from hutool-jwt/src/test/java/cn/hutool/jwt/JWTTest.java rename to hutool-json/src/test/java/cn/hutool/json/jwt/JWTTest.java index 70204f20b..4ab34e784 100644 --- a/hutool-jwt/src/test/java/cn/hutool/jwt/JWTTest.java +++ b/hutool-json/src/test/java/cn/hutool/json/jwt/JWTTest.java @@ -1,8 +1,8 @@ -package cn.hutool.jwt; +package cn.hutool.json.jwt; import cn.hutool.core.date.DateUtil; import cn.hutool.core.util.StrUtil; -import cn.hutool.jwt.signers.JWTSignerUtil; +import cn.hutool.json.jwt.signers.JWTSignerUtil; import org.junit.Assert; import org.junit.Test; diff --git a/hutool-jwt/src/test/java/cn/hutool/jwt/JWTUtilTest.java b/hutool-json/src/test/java/cn/hutool/json/jwt/JWTUtilTest.java similarity index 98% rename from hutool-jwt/src/test/java/cn/hutool/jwt/JWTUtilTest.java rename to hutool-json/src/test/java/cn/hutool/json/jwt/JWTUtilTest.java index 9ff5efc07..925eda40c 100644 --- a/hutool-jwt/src/test/java/cn/hutool/jwt/JWTUtilTest.java +++ b/hutool-json/src/test/java/cn/hutool/json/jwt/JWTUtilTest.java @@ -1,4 +1,4 @@ -package cn.hutool.jwt; +package cn.hutool.json.jwt; import org.junit.Assert; import org.junit.Test; diff --git a/hutool-jwt/src/test/java/cn/hutool/jwt/JWTValidatorTest.java b/hutool-json/src/test/java/cn/hutool/json/jwt/JWTValidatorTest.java similarity index 96% rename from hutool-jwt/src/test/java/cn/hutool/jwt/JWTValidatorTest.java rename to hutool-json/src/test/java/cn/hutool/json/jwt/JWTValidatorTest.java index b3df4faff..97b9f14a1 100644 --- a/hutool-jwt/src/test/java/cn/hutool/jwt/JWTValidatorTest.java +++ b/hutool-json/src/test/java/cn/hutool/json/jwt/JWTValidatorTest.java @@ -1,8 +1,8 @@ -package cn.hutool.jwt; +package cn.hutool.json.jwt; import cn.hutool.core.date.DateUtil; import cn.hutool.core.exceptions.ValidateException; -import cn.hutool.jwt.signers.JWTSignerUtil; +import cn.hutool.json.jwt.signers.JWTSignerUtil; import org.junit.Assert; import org.junit.Test; diff --git a/hutool-jwt/pom.xml b/hutool-jwt/pom.xml deleted file mode 100755 index 3a4ef4229..000000000 --- a/hutool-jwt/pom.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - 4.0.0 - - jar - - - cn.hutool - hutool-parent - 5.8.0.M5 - - - hutool-jwt - ${project.artifactId} - JWT生成、解析和验证实现 - - - - 1.70 - - - - - cn.hutool - hutool-json - ${project.parent.version} - - - cn.hutool - hutool-crypto - ${project.parent.version} - - - - org.bouncycastle - bcprov-jdk15to18 - ${bouncycastle.version} - test - - - diff --git a/hutool-jwt/src/main/java/cn/hutool/jwt/signers/package-info.java b/hutool-jwt/src/main/java/cn/hutool/jwt/signers/package-info.java deleted file mode 100644 index c3665e9a3..000000000 --- a/hutool-jwt/src/main/java/cn/hutool/jwt/signers/package-info.java +++ /dev/null @@ -1,4 +0,0 @@ -/** - * JWT签名封装 - */ -package cn.hutool.jwt.signers; diff --git a/hutool-log/pom.xml b/hutool-log/pom.xml index fc5eee676..d057945a4 100755 --- a/hutool-log/pom.xml +++ b/hutool-log/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.8.0.M5 + 6.0.0.M1 hutool-log diff --git a/hutool-poi/pom.xml b/hutool-poi/pom.xml index e45c87948..d938e057d 100755 --- a/hutool-poi/pom.xml +++ b/hutool-poi/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.8.0.M5 + 6.0.0.M1 hutool-poi diff --git a/hutool-core/src/main/java/cn/hutool/core/text/csv/CsvBaseReader.java b/hutool-poi/src/main/java/cn/hutool/poi/csv/CsvBaseReader.java similarity index 99% rename from hutool-core/src/main/java/cn/hutool/core/text/csv/CsvBaseReader.java rename to hutool-poi/src/main/java/cn/hutool/poi/csv/CsvBaseReader.java index 2ac2f9186..6026d0440 100644 --- a/hutool-core/src/main/java/cn/hutool/core/text/csv/CsvBaseReader.java +++ b/hutool-poi/src/main/java/cn/hutool/poi/csv/CsvBaseReader.java @@ -1,4 +1,4 @@ -package cn.hutool.core.text.csv; +package cn.hutool.poi.csv; import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.IORuntimeException; diff --git a/hutool-core/src/main/java/cn/hutool/core/text/csv/CsvConfig.java b/hutool-poi/src/main/java/cn/hutool/poi/csv/CsvConfig.java similarity index 98% rename from hutool-core/src/main/java/cn/hutool/core/text/csv/CsvConfig.java rename to hutool-poi/src/main/java/cn/hutool/poi/csv/CsvConfig.java index 7798995ce..aff52204d 100644 --- a/hutool-core/src/main/java/cn/hutool/core/text/csv/CsvConfig.java +++ b/hutool-poi/src/main/java/cn/hutool/poi/csv/CsvConfig.java @@ -1,4 +1,4 @@ -package cn.hutool.core.text.csv; +package cn.hutool.poi.csv; import cn.hutool.core.util.CharUtil; diff --git a/hutool-core/src/main/java/cn/hutool/core/text/csv/CsvData.java b/hutool-poi/src/main/java/cn/hutool/poi/csv/CsvData.java similarity index 97% rename from hutool-core/src/main/java/cn/hutool/core/text/csv/CsvData.java rename to hutool-poi/src/main/java/cn/hutool/poi/csv/CsvData.java index 1bf31a92e..73841ce2d 100644 --- a/hutool-core/src/main/java/cn/hutool/core/text/csv/CsvData.java +++ b/hutool-poi/src/main/java/cn/hutool/poi/csv/CsvData.java @@ -1,4 +1,4 @@ -package cn.hutool.core.text.csv; +package cn.hutool.poi.csv; import java.io.Serializable; import java.util.Collections; diff --git a/hutool-core/src/main/java/cn/hutool/core/text/csv/CsvParser.java b/hutool-poi/src/main/java/cn/hutool/poi/csv/CsvParser.java similarity index 99% rename from hutool-core/src/main/java/cn/hutool/core/text/csv/CsvParser.java rename to hutool-poi/src/main/java/cn/hutool/poi/csv/CsvParser.java index 46cd9e3c1..b701106d4 100644 --- a/hutool-core/src/main/java/cn/hutool/core/text/csv/CsvParser.java +++ b/hutool-poi/src/main/java/cn/hutool/poi/csv/CsvParser.java @@ -1,4 +1,4 @@ -package cn.hutool.core.text.csv; +package cn.hutool.poi.csv; import cn.hutool.core.collection.ComputeIter; import cn.hutool.core.io.IORuntimeException; diff --git a/hutool-core/src/main/java/cn/hutool/core/text/csv/CsvReadConfig.java b/hutool-poi/src/main/java/cn/hutool/poi/csv/CsvReadConfig.java similarity index 98% rename from hutool-core/src/main/java/cn/hutool/core/text/csv/CsvReadConfig.java rename to hutool-poi/src/main/java/cn/hutool/poi/csv/CsvReadConfig.java index 5ad7c7d85..7a6bebfd3 100644 --- a/hutool-core/src/main/java/cn/hutool/core/text/csv/CsvReadConfig.java +++ b/hutool-poi/src/main/java/cn/hutool/poi/csv/CsvReadConfig.java @@ -1,4 +1,4 @@ -package cn.hutool.core.text.csv; +package cn.hutool.poi.csv; import java.io.Serializable; diff --git a/hutool-core/src/main/java/cn/hutool/core/text/csv/CsvReader.java b/hutool-poi/src/main/java/cn/hutool/poi/csv/CsvReader.java similarity index 99% rename from hutool-core/src/main/java/cn/hutool/core/text/csv/CsvReader.java rename to hutool-poi/src/main/java/cn/hutool/poi/csv/CsvReader.java index 15065cb8f..18c284ebc 100644 --- a/hutool-core/src/main/java/cn/hutool/core/text/csv/CsvReader.java +++ b/hutool-poi/src/main/java/cn/hutool/poi/csv/CsvReader.java @@ -1,4 +1,4 @@ -package cn.hutool.core.text.csv; +package cn.hutool.poi.csv; import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.IORuntimeException; diff --git a/hutool-core/src/main/java/cn/hutool/core/text/csv/CsvRow.java b/hutool-poi/src/main/java/cn/hutool/poi/csv/CsvRow.java similarity index 99% rename from hutool-core/src/main/java/cn/hutool/core/text/csv/CsvRow.java rename to hutool-poi/src/main/java/cn/hutool/poi/csv/CsvRow.java index fcc37f54a..7cb0857a4 100644 --- a/hutool-core/src/main/java/cn/hutool/core/text/csv/CsvRow.java +++ b/hutool-poi/src/main/java/cn/hutool/poi/csv/CsvRow.java @@ -1,4 +1,4 @@ -package cn.hutool.core.text.csv; +package cn.hutool.poi.csv; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.lang.Assert; diff --git a/hutool-core/src/main/java/cn/hutool/core/text/csv/CsvRowHandler.java b/hutool-poi/src/main/java/cn/hutool/poi/csv/CsvRowHandler.java similarity index 88% rename from hutool-core/src/main/java/cn/hutool/core/text/csv/CsvRowHandler.java rename to hutool-poi/src/main/java/cn/hutool/poi/csv/CsvRowHandler.java index c5a50146a..465177041 100644 --- a/hutool-core/src/main/java/cn/hutool/core/text/csv/CsvRowHandler.java +++ b/hutool-poi/src/main/java/cn/hutool/poi/csv/CsvRowHandler.java @@ -1,4 +1,4 @@ -package cn.hutool.core.text.csv; +package cn.hutool.poi.csv; /** * CSV的行处理器,实现此接口用于按照行处理数据 diff --git a/hutool-core/src/main/java/cn/hutool/core/text/csv/CsvUtil.java b/hutool-poi/src/main/java/cn/hutool/poi/csv/CsvUtil.java similarity index 99% rename from hutool-core/src/main/java/cn/hutool/core/text/csv/CsvUtil.java rename to hutool-poi/src/main/java/cn/hutool/poi/csv/CsvUtil.java index ea1840076..dc80cd286 100644 --- a/hutool-core/src/main/java/cn/hutool/core/text/csv/CsvUtil.java +++ b/hutool-poi/src/main/java/cn/hutool/poi/csv/CsvUtil.java @@ -1,4 +1,4 @@ -package cn.hutool.core.text.csv; +package cn.hutool.poi.csv; import java.io.File; import java.io.Reader; diff --git a/hutool-core/src/main/java/cn/hutool/core/text/csv/CsvWriteConfig.java b/hutool-poi/src/main/java/cn/hutool/poi/csv/CsvWriteConfig.java similarity index 97% rename from hutool-core/src/main/java/cn/hutool/core/text/csv/CsvWriteConfig.java rename to hutool-poi/src/main/java/cn/hutool/poi/csv/CsvWriteConfig.java index eff5b6430..690920a04 100644 --- a/hutool-core/src/main/java/cn/hutool/core/text/csv/CsvWriteConfig.java +++ b/hutool-poi/src/main/java/cn/hutool/poi/csv/CsvWriteConfig.java @@ -1,4 +1,4 @@ -package cn.hutool.core.text.csv; +package cn.hutool.poi.csv; import cn.hutool.core.util.CharUtil; diff --git a/hutool-core/src/main/java/cn/hutool/core/text/csv/CsvWriter.java b/hutool-poi/src/main/java/cn/hutool/poi/csv/CsvWriter.java similarity index 99% rename from hutool-core/src/main/java/cn/hutool/core/text/csv/CsvWriter.java rename to hutool-poi/src/main/java/cn/hutool/poi/csv/CsvWriter.java index 5c386214e..093514c72 100644 --- a/hutool-core/src/main/java/cn/hutool/core/text/csv/CsvWriter.java +++ b/hutool-poi/src/main/java/cn/hutool/poi/csv/CsvWriter.java @@ -1,4 +1,4 @@ -package cn.hutool.core.text.csv; +package cn.hutool.poi.csv; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.ArrayIter; diff --git a/hutool-core/src/main/java/cn/hutool/core/text/csv/package-info.java b/hutool-poi/src/main/java/cn/hutool/poi/csv/package-info.java similarity index 81% rename from hutool-core/src/main/java/cn/hutool/core/text/csv/package-info.java rename to hutool-poi/src/main/java/cn/hutool/poi/csv/package-info.java index 7863d5c06..8b82adee7 100644 --- a/hutool-core/src/main/java/cn/hutool/core/text/csv/package-info.java +++ b/hutool-poi/src/main/java/cn/hutool/poi/csv/package-info.java @@ -5,4 +5,4 @@ * @author looly * */ -package cn.hutool.core.text.csv; +package cn.hutool.poi.csv; diff --git a/hutool-core/src/test/java/cn/hutool/core/text/csv/CsvParserTest.java b/hutool-poi/src/test/java/cn/hutool/poi/csv/CsvParserTest.java similarity index 98% rename from hutool-core/src/test/java/cn/hutool/core/text/csv/CsvParserTest.java rename to hutool-poi/src/test/java/cn/hutool/poi/csv/CsvParserTest.java index e8fc851e8..4fb3857c4 100644 --- a/hutool-core/src/test/java/cn/hutool/core/text/csv/CsvParserTest.java +++ b/hutool-poi/src/test/java/cn/hutool/poi/csv/CsvParserTest.java @@ -1,4 +1,4 @@ -package cn.hutool.core.text.csv; +package cn.hutool.poi.csv; import cn.hutool.core.io.IoUtil; import cn.hutool.core.util.StrUtil; diff --git a/hutool-core/src/test/java/cn/hutool/core/text/csv/CsvReaderTest.java b/hutool-poi/src/test/java/cn/hutool/poi/csv/CsvReaderTest.java similarity index 99% rename from hutool-core/src/test/java/cn/hutool/core/text/csv/CsvReaderTest.java rename to hutool-poi/src/test/java/cn/hutool/poi/csv/CsvReaderTest.java index 291f8b26f..f8e3e5e30 100644 --- a/hutool-core/src/test/java/cn/hutool/core/text/csv/CsvReaderTest.java +++ b/hutool-poi/src/test/java/cn/hutool/poi/csv/CsvReaderTest.java @@ -1,4 +1,4 @@ -package cn.hutool.core.text.csv; +package cn.hutool.poi.csv; import cn.hutool.core.annotation.Alias; import cn.hutool.core.collection.CollUtil; diff --git a/hutool-core/src/test/java/cn/hutool/core/text/csv/CsvUtilTest.java b/hutool-poi/src/test/java/cn/hutool/poi/csv/CsvUtilTest.java similarity index 99% rename from hutool-core/src/test/java/cn/hutool/core/text/csv/CsvUtilTest.java rename to hutool-poi/src/test/java/cn/hutool/poi/csv/CsvUtilTest.java index bad09cdd9..cfae4b775 100644 --- a/hutool-core/src/test/java/cn/hutool/core/text/csv/CsvUtilTest.java +++ b/hutool-poi/src/test/java/cn/hutool/poi/csv/CsvUtilTest.java @@ -1,4 +1,4 @@ -package cn.hutool.core.text.csv; +package cn.hutool.poi.csv; import cn.hutool.core.bean.BeanUtil; import cn.hutool.core.collection.ListUtil; diff --git a/hutool-core/src/test/java/cn/hutool/core/text/csv/CsvWriterTest.java b/hutool-poi/src/test/java/cn/hutool/poi/csv/CsvWriterTest.java old mode 100755 new mode 100644 similarity index 97% rename from hutool-core/src/test/java/cn/hutool/core/text/csv/CsvWriterTest.java rename to hutool-poi/src/test/java/cn/hutool/poi/csv/CsvWriterTest.java index ed4416209..e879faecc --- a/hutool-core/src/test/java/cn/hutool/core/text/csv/CsvWriterTest.java +++ b/hutool-poi/src/test/java/cn/hutool/poi/csv/CsvWriterTest.java @@ -1,4 +1,4 @@ -package cn.hutool.core.text.csv; +package cn.hutool.poi.csv; import cn.hutool.core.io.FileUtil; import cn.hutool.core.lang.Console; diff --git a/hutool-script/pom.xml b/hutool-script/pom.xml deleted file mode 100755 index 5dceb2244..000000000 --- a/hutool-script/pom.xml +++ /dev/null @@ -1,57 +0,0 @@ - - - 4.0.0 - - jar - - - cn.hutool - hutool-parent - 5.8.0.M5 - - - hutool-script - ${project.artifactId} - Hutool 脚本执行封装 - - - 2.7.2 - 3.0.1 - 3.0.10 - - - - - cn.hutool - hutool-core - ${project.parent.version} - - - org.python - jython - ${jython.version} - provided - - - org.luaj - luaj-jse - ${luaj.version} - provided - - - org.codehaus.groovy - groovy-all - ${groovy.version} - pom - provided - - - junit - junit - - - - - diff --git a/hutool-script/src/main/java/cn/hutool/script/FullSupportScriptEngine.java b/hutool-script/src/main/java/cn/hutool/script/FullSupportScriptEngine.java deleted file mode 100644 index eae1d330e..000000000 --- a/hutool-script/src/main/java/cn/hutool/script/FullSupportScriptEngine.java +++ /dev/null @@ -1,159 +0,0 @@ -package cn.hutool.script; - -import java.io.Reader; - -import javax.script.Bindings; -import javax.script.Compilable; -import javax.script.CompiledScript; -import javax.script.Invocable; -import javax.script.ScriptContext; -import javax.script.ScriptEngine; -import javax.script.ScriptEngineFactory; -import javax.script.ScriptEngineManager; -import javax.script.ScriptException; - -import cn.hutool.core.util.StrUtil; - -/** - * 全功能引擎类,支持Compilable和Invocable - * - * @author Looly - * - */ -public class FullSupportScriptEngine implements ScriptEngine, Compilable, Invocable { - - ScriptEngine engine; - - /** - * 构造 - * - * @param engine 脚本引擎 - */ - public FullSupportScriptEngine(ScriptEngine engine) { - this.engine = engine; - } - - /** - * 构造 - * - * @param nameOrExtOrMime 脚本名或者脚本语言扩展名或者MineType - */ - public FullSupportScriptEngine(String nameOrExtOrMime) { - final ScriptEngineManager manager = new ScriptEngineManager(); - ScriptEngine engine = manager.getEngineByName(nameOrExtOrMime); - if (null == engine) { - engine = manager.getEngineByExtension(nameOrExtOrMime); - } - if (null == engine) { - engine = manager.getEngineByMimeType(nameOrExtOrMime); - } - if (null == engine) { - throw new NullPointerException(StrUtil.format("Script for [{}] not support !", nameOrExtOrMime)); - } - this.engine = engine; - } - - // ----------------------------------------------------------------------------------------------- Invocable - @Override - public Object invokeMethod(Object thiz, String name, Object... args) throws ScriptException, NoSuchMethodException { - return ((Invocable) engine).invokeMethod(thiz, name, args); - } - - @Override - public Object invokeFunction(String name, Object... args) throws ScriptException, NoSuchMethodException { - return ((Invocable) engine).invokeFunction(name, args); - } - - @Override - public T getInterface(Class clasz) { - return ((Invocable) engine).getInterface(clasz); - } - - @Override - public T getInterface(Object thiz, Class clasz) { - return ((Invocable) engine).getInterface(thiz, clasz); - } - - // ----------------------------------------------------------------------------------------------- Compilable - @Override - public CompiledScript compile(String script) throws ScriptException { - return ((Compilable) engine).compile(script); - } - - @Override - public CompiledScript compile(Reader script) throws ScriptException { - return ((Compilable) engine).compile(script); - } - - // ----------------------------------------------------------------------------------------------- ScriptEngine - @Override - public Object eval(String script, ScriptContext context) throws ScriptException { - return engine.eval(script, context); - } - - @Override - public Object eval(Reader reader, ScriptContext context) throws ScriptException { - return engine.eval(reader, context); - } - - @Override - public Object eval(String script) throws ScriptException { - return engine.eval(script); - } - - @Override - public Object eval(Reader reader) throws ScriptException { - return engine.eval(reader); - } - - @Override - public Object eval(String script, Bindings n) throws ScriptException { - return engine.eval(script, n); - } - - @Override - public Object eval(Reader reader, Bindings n) throws ScriptException { - return engine.eval(reader, n); - } - - @Override - public void put(String key, Object value) { - engine.put(key, value); - } - - @Override - public Object get(String key) { - return engine.get(key); - } - - @Override - public Bindings getBindings(int scope) { - return engine.getBindings(scope); - } - - @Override - public void setBindings(Bindings bindings, int scope) { - engine.setBindings(bindings, scope); - } - - @Override - public Bindings createBindings() { - return engine.createBindings(); - } - - @Override - public ScriptContext getContext() { - return engine.getContext(); - } - - @Override - public void setContext(ScriptContext context) { - engine.setContext(context); - } - - @Override - public ScriptEngineFactory getFactory() { - return engine.getFactory(); - } - -} diff --git a/hutool-script/src/main/java/cn/hutool/script/JavaScriptEngine.java b/hutool-script/src/main/java/cn/hutool/script/JavaScriptEngine.java deleted file mode 100644 index 76557e7e0..000000000 --- a/hutool-script/src/main/java/cn/hutool/script/JavaScriptEngine.java +++ /dev/null @@ -1,135 +0,0 @@ -package cn.hutool.script; - -import javax.script.Bindings; -import javax.script.Compilable; -import javax.script.CompiledScript; -import javax.script.Invocable; -import javax.script.ScriptContext; -import javax.script.ScriptEngineFactory; -import javax.script.ScriptException; -import java.io.Reader; - -/** - * Javascript引擎类 - * - * @author Looly - */ -public class JavaScriptEngine extends FullSupportScriptEngine { - - public JavaScriptEngine() { - super(ScriptUtil.createJsEngine()); - } - - /** - * 引擎实例 - * - * @return 引擎实例 - */ - public static JavaScriptEngine instance() { - return new JavaScriptEngine(); - } - - //----------------------------------------------------------------------------------------------- Invocable - @Override - public Object invokeMethod(Object thiz, String name, Object... args) throws ScriptException, NoSuchMethodException { - return ((Invocable) engine).invokeMethod(thiz, name, args); - } - - @Override - public Object invokeFunction(String name, Object... args) throws ScriptException, NoSuchMethodException { - return ((Invocable) engine).invokeFunction(name, args); - } - - @Override - public T getInterface(Class clasz) { - return ((Invocable) engine).getInterface(clasz); - } - - @Override - public T getInterface(Object thiz, Class clasz) { - return ((Invocable) engine).getInterface(thiz, clasz); - } - - //----------------------------------------------------------------------------------------------- Compilable - @Override - public CompiledScript compile(String script) throws ScriptException { - return ((Compilable) engine).compile(script); - } - - @Override - public CompiledScript compile(Reader script) throws ScriptException { - return ((Compilable) engine).compile(script); - } - - //----------------------------------------------------------------------------------------------- ScriptEngine - @Override - public Object eval(String script, ScriptContext context) throws ScriptException { - return engine.eval(script, context); - } - - @Override - public Object eval(Reader reader, ScriptContext context) throws ScriptException { - return engine.eval(reader, context); - } - - @Override - public Object eval(String script) throws ScriptException { - return engine.eval(script); - } - - @Override - public Object eval(Reader reader) throws ScriptException { - return engine.eval(reader); - } - - @Override - public Object eval(String script, Bindings n) throws ScriptException { - return engine.eval(script, n); - } - - @Override - public Object eval(Reader reader, Bindings n) throws ScriptException { - return engine.eval(reader, n); - } - - @Override - public void put(String key, Object value) { - engine.put(key, value); - } - - @Override - public Object get(String key) { - return engine.get(key); - } - - @Override - public Bindings getBindings(int scope) { - return engine.getBindings(scope); - } - - @Override - public void setBindings(Bindings bindings, int scope) { - engine.setBindings(bindings, scope); - } - - @Override - public Bindings createBindings() { - return engine.createBindings(); - } - - @Override - public ScriptContext getContext() { - return engine.getContext(); - } - - @Override - public void setContext(ScriptContext context) { - engine.setContext(context); - } - - @Override - public ScriptEngineFactory getFactory() { - return engine.getFactory(); - } - -} diff --git a/hutool-script/src/main/java/cn/hutool/script/ScriptRuntimeException.java b/hutool-script/src/main/java/cn/hutool/script/ScriptRuntimeException.java deleted file mode 100644 index 48b62e085..000000000 --- a/hutool-script/src/main/java/cn/hutool/script/ScriptRuntimeException.java +++ /dev/null @@ -1,128 +0,0 @@ -package cn.hutool.script; - -import cn.hutool.core.exceptions.ExceptionUtil; -import cn.hutool.core.util.StrUtil; - -import javax.script.ScriptException; - -/** - * 脚本运行时异常 - * - * @author xiaoleilu - */ -public class ScriptRuntimeException extends RuntimeException { - private static final long serialVersionUID = 8247610319171014183L; - - private String fileName; - private int lineNumber = -1; - private int columnNumber = -1; - - public ScriptRuntimeException(Throwable e) { - super(ExceptionUtil.getMessage(e), e); - } - - public ScriptRuntimeException(String message) { - super(message); - } - - public ScriptRuntimeException(String messageTemplate, Object... params) { - super(StrUtil.format(messageTemplate, params)); - } - - public ScriptRuntimeException(String message, Throwable throwable) { - super(message, throwable); - } - - public ScriptRuntimeException(String message, Throwable throwable, boolean enableSuppression, boolean writableStackTrace) { - super(message, throwable, enableSuppression, writableStackTrace); - } - - public ScriptRuntimeException(Throwable throwable, String messageTemplate, Object... params) { - super(StrUtil.format(messageTemplate, params), throwable); - } - - /** - * Creates a {@code ScriptException} with message, filename and linenumber to be used in error messages. - * - * @param message The string to use in the message - * @param fileName The file or resource name describing the location of a script error causing the {@code ScriptException} to be thrown. - * @param lineNumber A line number describing the location of a script error causing the {@code ScriptException} to be thrown. - */ - public ScriptRuntimeException(String message, String fileName, int lineNumber) { - super(message); - this.fileName = fileName; - this.lineNumber = lineNumber; - } - - /** - * {@code ScriptException} constructor specifying message, filename, line number and column number. - * - * @param message The message. - * @param fileName The filename - * @param lineNumber the line number. - * @param columnNumber the column number. - */ - public ScriptRuntimeException(String message, String fileName, int lineNumber, int columnNumber) { - super(message); - this.fileName = fileName; - this.lineNumber = lineNumber; - this.columnNumber = columnNumber; - } - - public ScriptRuntimeException(ScriptException e) { - super(e); - this.fileName = e.getFileName(); - this.lineNumber = e.getLineNumber(); - this.columnNumber = e.getColumnNumber(); - } - - /** - * Returns a message containing the String passed to a constructor as well as line and column numbers and filename if any of these are known. - * - * @return The error message. - */ - @Override - public String getMessage() { - StringBuilder ret = new StringBuilder().append(super.getMessage()); - if (fileName != null) { - ret.append(" in ").append(fileName); - if (lineNumber != -1) { - ret.append(" at line number ").append(lineNumber); - } - - if (columnNumber != -1) { - ret.append(" at column number ").append(columnNumber); - } - } - - return ret.toString(); - } - - /** - * Get the line number on which an error occurred. - * - * @return The line number. Returns -1 if a line number is unavailable. - */ - public int getLineNumber() { - return lineNumber; - } - - /** - * Get the column number on which an error occurred. - * - * @return The column number. Returns -1 if a column number is unavailable. - */ - public int getColumnNumber() { - return columnNumber; - } - - /** - * Get the source of the script causing the error. - * - * @return The file name of the script or some other string describing the script source. May return some implementation-defined string such as <unknown> if a description of the - * source is unavailable. - */ - public String getFileName() { - return fileName; - } -} diff --git a/hutool-script/src/main/java/cn/hutool/script/package-info.java b/hutool-script/src/main/java/cn/hutool/script/package-info.java deleted file mode 100644 index 0ae0e32f6..000000000 --- a/hutool-script/src/main/java/cn/hutool/script/package-info.java +++ /dev/null @@ -1,7 +0,0 @@ -/** - * Script模块主要针对Java的javax.script封装,可以运行Javascript脚本。 - * - * @author looly - * - */ -package cn.hutool.script; \ No newline at end of file diff --git a/hutool-script/src/test/java/cn/hutool/script/test/NashornDeepTest.java b/hutool-script/src/test/java/cn/hutool/script/test/NashornDeepTest.java deleted file mode 100644 index a2499f041..000000000 --- a/hutool-script/src/test/java/cn/hutool/script/test/NashornDeepTest.java +++ /dev/null @@ -1,22 +0,0 @@ -package cn.hutool.script.test; - - -import cn.hutool.core.io.resource.ResourceUtil; -import org.junit.Assert; - -import javax.script.Invocable; -import javax.script.ScriptEngine; -import javax.script.ScriptEngineManager; -import javax.script.ScriptException; - -public class NashornDeepTest { - - public static void main(String[] args) throws ScriptException, NoSuchMethodException { - ScriptEngine engine = new ScriptEngineManager().getEngineByName("js"); - - engine.eval(ResourceUtil.readUtf8Str("filter1.js")); - - final Object filter1 = ((Invocable) engine).invokeFunction("filter1", 1, 2); - Assert.assertFalse((Boolean) filter1); - } -} diff --git a/hutool-setting/pom.xml b/hutool-setting/pom.xml index 1a8a2e7fe..afc5f116c 100755 --- a/hutool-setting/pom.xml +++ b/hutool-setting/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.8.0.M5 + 6.0.0.M1 hutool-setting diff --git a/hutool-socket/pom.xml b/hutool-socket/pom.xml index 9e0a00aa2..1f9c38ed4 100755 --- a/hutool-socket/pom.xml +++ b/hutool-socket/pom.xml @@ -9,7 +9,7 @@ cn.hutool hutool-parent - 5.8.0.M5 + 6.0.0.M1 hutool-socket diff --git a/hutool-captcha/pom.xml b/hutool-swing/pom.xml old mode 100755 new mode 100644 similarity index 83% rename from hutool-captcha/pom.xml rename to hutool-swing/pom.xml index 157efcfb4..604b363ee --- a/hutool-captcha/pom.xml +++ b/hutool-swing/pom.xml @@ -9,12 +9,12 @@ cn.hutool hutool-parent - 5.8.0.M5 + 6.0.0.M1 - hutool-captcha + hutool-swing ${project.artifactId} - Hutool 验证码工具 + Hutool swing桌面相关封装 diff --git a/hutool-core/src/main/java/cn/hutool/core/swing/DesktopUtil.java b/hutool-swing/src/main/java/cn/hutool/swing/DesktopUtil.java similarity index 98% rename from hutool-core/src/main/java/cn/hutool/core/swing/DesktopUtil.java rename to hutool-swing/src/main/java/cn/hutool/swing/DesktopUtil.java index da9d2afde..f65ac940f 100644 --- a/hutool-core/src/main/java/cn/hutool/core/swing/DesktopUtil.java +++ b/hutool-swing/src/main/java/cn/hutool/swing/DesktopUtil.java @@ -1,13 +1,13 @@ -package cn.hutool.core.swing; +package cn.hutool.swing; + +import cn.hutool.core.io.IORuntimeException; +import cn.hutool.core.util.URLUtil; import java.awt.Desktop; import java.io.File; import java.io.IOException; import java.net.URI; -import cn.hutool.core.io.IORuntimeException; -import cn.hutool.core.util.URLUtil; - /** * 桌面相关工具(平台相关)
    * Desktop 类允许 Java 应用程序启动已在本机桌面上注册的关联应用程序,以处理 URI 或文件。 diff --git a/hutool-core/src/main/java/cn/hutool/core/swing/RobotUtil.java b/hutool-swing/src/main/java/cn/hutool/swing/RobotUtil.java similarity index 98% rename from hutool-core/src/main/java/cn/hutool/core/swing/RobotUtil.java rename to hutool-swing/src/main/java/cn/hutool/swing/RobotUtil.java index 430ffbd2a..7ed3be0a5 100644 --- a/hutool-core/src/main/java/cn/hutool/core/swing/RobotUtil.java +++ b/hutool-swing/src/main/java/cn/hutool/swing/RobotUtil.java @@ -1,7 +1,7 @@ -package cn.hutool.core.swing; +package cn.hutool.swing; import cn.hutool.core.exceptions.UtilException; -import cn.hutool.core.img.ImgUtil; +import cn.hutool.swing.img.ImgUtil; import cn.hutool.core.swing.clipboard.ClipboardUtil; import java.awt.AWTException; diff --git a/hutool-core/src/main/java/cn/hutool/core/swing/ScreenUtil.java b/hutool-swing/src/main/java/cn/hutool/swing/ScreenUtil.java similarity index 98% rename from hutool-core/src/main/java/cn/hutool/core/swing/ScreenUtil.java rename to hutool-swing/src/main/java/cn/hutool/swing/ScreenUtil.java index 047eabb5f..7aedb7f9f 100644 --- a/hutool-core/src/main/java/cn/hutool/core/swing/ScreenUtil.java +++ b/hutool-swing/src/main/java/cn/hutool/swing/ScreenUtil.java @@ -1,4 +1,4 @@ -package cn.hutool.core.swing; +package cn.hutool.swing; import java.awt.Dimension; import java.awt.Rectangle; diff --git a/hutool-captcha/src/main/java/cn/hutool/captcha/AbstractCaptcha.java b/hutool-swing/src/main/java/cn/hutool/swing/captcha/AbstractCaptcha.java similarity index 96% rename from hutool-captcha/src/main/java/cn/hutool/captcha/AbstractCaptcha.java rename to hutool-swing/src/main/java/cn/hutool/swing/captcha/AbstractCaptcha.java index 85ebcd295..436b70d08 100644 --- a/hutool-captcha/src/main/java/cn/hutool/captcha/AbstractCaptcha.java +++ b/hutool-swing/src/main/java/cn/hutool/swing/captcha/AbstractCaptcha.java @@ -1,9 +1,9 @@ -package cn.hutool.captcha; +package cn.hutool.swing.captcha; -import cn.hutool.captcha.generator.CodeGenerator; -import cn.hutool.captcha.generator.RandomGenerator; +import cn.hutool.swing.captcha.generator.CodeGenerator; +import cn.hutool.swing.captcha.generator.RandomGenerator; import cn.hutool.core.codec.Base64; -import cn.hutool.core.img.ImgUtil; +import cn.hutool.swing.img.ImgUtil; import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.IORuntimeException; import cn.hutool.core.io.IoUtil; diff --git a/hutool-captcha/src/main/java/cn/hutool/captcha/CaptchaUtil.java b/hutool-swing/src/main/java/cn/hutool/swing/captcha/CaptchaUtil.java similarity index 98% rename from hutool-captcha/src/main/java/cn/hutool/captcha/CaptchaUtil.java rename to hutool-swing/src/main/java/cn/hutool/swing/captcha/CaptchaUtil.java index dcca26e3b..e95f7101b 100644 --- a/hutool-captcha/src/main/java/cn/hutool/captcha/CaptchaUtil.java +++ b/hutool-swing/src/main/java/cn/hutool/swing/captcha/CaptchaUtil.java @@ -1,4 +1,4 @@ -package cn.hutool.captcha; +package cn.hutool.swing.captcha; /** * 图形验证码工具 diff --git a/hutool-captcha/src/main/java/cn/hutool/captcha/CircleCaptcha.java b/hutool-swing/src/main/java/cn/hutool/swing/captcha/CircleCaptcha.java similarity index 95% rename from hutool-captcha/src/main/java/cn/hutool/captcha/CircleCaptcha.java rename to hutool-swing/src/main/java/cn/hutool/swing/captcha/CircleCaptcha.java index 9e16a90b5..0ef03a62c 100644 --- a/hutool-captcha/src/main/java/cn/hutool/captcha/CircleCaptcha.java +++ b/hutool-swing/src/main/java/cn/hutool/swing/captcha/CircleCaptcha.java @@ -1,7 +1,7 @@ -package cn.hutool.captcha; +package cn.hutool.swing.captcha; -import cn.hutool.core.img.GraphicsUtil; -import cn.hutool.core.img.ImgUtil; +import cn.hutool.swing.img.GraphicsUtil; +import cn.hutool.swing.img.ImgUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.RandomUtil; diff --git a/hutool-captcha/src/main/java/cn/hutool/captcha/GifCaptcha.java b/hutool-swing/src/main/java/cn/hutool/swing/captcha/GifCaptcha.java similarity index 98% rename from hutool-captcha/src/main/java/cn/hutool/captcha/GifCaptcha.java rename to hutool-swing/src/main/java/cn/hutool/swing/captcha/GifCaptcha.java index 2d996693c..b46feb208 100644 --- a/hutool-captcha/src/main/java/cn/hutool/captcha/GifCaptcha.java +++ b/hutool-swing/src/main/java/cn/hutool/swing/captcha/GifCaptcha.java @@ -1,7 +1,7 @@ -package cn.hutool.captcha; +package cn.hutool.swing.captcha; -import cn.hutool.core.img.gif.AnimatedGifEncoder; +import cn.hutool.swing.img.gif.AnimatedGifEncoder; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.RandomUtil; diff --git a/hutool-captcha/src/main/java/cn/hutool/captcha/ICaptcha.java b/hutool-swing/src/main/java/cn/hutool/swing/captcha/ICaptcha.java similarity index 95% rename from hutool-captcha/src/main/java/cn/hutool/captcha/ICaptcha.java rename to hutool-swing/src/main/java/cn/hutool/swing/captcha/ICaptcha.java index 68c16c728..7fb88c4c4 100644 --- a/hutool-captcha/src/main/java/cn/hutool/captcha/ICaptcha.java +++ b/hutool-swing/src/main/java/cn/hutool/swing/captcha/ICaptcha.java @@ -1,4 +1,4 @@ -package cn.hutool.captcha; +package cn.hutool.swing.captcha; import java.io.OutputStream; import java.io.Serializable; diff --git a/hutool-captcha/src/main/java/cn/hutool/captcha/LineCaptcha.java b/hutool-swing/src/main/java/cn/hutool/swing/captcha/LineCaptcha.java similarity index 95% rename from hutool-captcha/src/main/java/cn/hutool/captcha/LineCaptcha.java rename to hutool-swing/src/main/java/cn/hutool/swing/captcha/LineCaptcha.java index 8bf337635..ed31a87eb 100644 --- a/hutool-captcha/src/main/java/cn/hutool/captcha/LineCaptcha.java +++ b/hutool-swing/src/main/java/cn/hutool/swing/captcha/LineCaptcha.java @@ -1,4 +1,9 @@ -package cn.hutool.captcha; +package cn.hutool.swing.captcha; + +import cn.hutool.core.util.ObjectUtil; +import cn.hutool.core.util.RandomUtil; +import cn.hutool.swing.img.GraphicsUtil; +import cn.hutool.swing.img.ImgUtil; import java.awt.Color; import java.awt.Graphics; @@ -7,11 +12,6 @@ import java.awt.Image; import java.awt.image.BufferedImage; import java.util.concurrent.ThreadLocalRandom; -import cn.hutool.core.img.GraphicsUtil; -import cn.hutool.core.img.ImgUtil; -import cn.hutool.core.util.ObjectUtil; -import cn.hutool.core.util.RandomUtil; - /** * 使用干扰线方式生成的图形验证码 * @@ -93,4 +93,4 @@ public class LineCaptcha extends AbstractCaptcha { } } // ----------------------------------------------------------------------------------------------------- Private method start -} \ No newline at end of file +} diff --git a/hutool-captcha/src/main/java/cn/hutool/captcha/ShearCaptcha.java b/hutool-swing/src/main/java/cn/hutool/swing/captcha/ShearCaptcha.java similarity index 97% rename from hutool-captcha/src/main/java/cn/hutool/captcha/ShearCaptcha.java rename to hutool-swing/src/main/java/cn/hutool/swing/captcha/ShearCaptcha.java index 0f43dcc1d..8304a841c 100644 --- a/hutool-captcha/src/main/java/cn/hutool/captcha/ShearCaptcha.java +++ b/hutool-swing/src/main/java/cn/hutool/swing/captcha/ShearCaptcha.java @@ -1,7 +1,7 @@ -package cn.hutool.captcha; +package cn.hutool.swing.captcha; -import cn.hutool.core.img.GraphicsUtil; -import cn.hutool.core.img.ImgUtil; +import cn.hutool.swing.img.GraphicsUtil; +import cn.hutool.swing.img.ImgUtil; import cn.hutool.core.util.ObjectUtil; import cn.hutool.core.util.RandomUtil; diff --git a/hutool-captcha/src/main/java/cn/hutool/captcha/generator/AbstractGenerator.java b/hutool-swing/src/main/java/cn/hutool/swing/captcha/generator/AbstractGenerator.java similarity index 96% rename from hutool-captcha/src/main/java/cn/hutool/captcha/generator/AbstractGenerator.java rename to hutool-swing/src/main/java/cn/hutool/swing/captcha/generator/AbstractGenerator.java index 1470a7764..159473acd 100644 --- a/hutool-captcha/src/main/java/cn/hutool/captcha/generator/AbstractGenerator.java +++ b/hutool-swing/src/main/java/cn/hutool/swing/captcha/generator/AbstractGenerator.java @@ -1,4 +1,4 @@ -package cn.hutool.captcha.generator; +package cn.hutool.swing.captcha.generator; import cn.hutool.core.util.RandomUtil; diff --git a/hutool-captcha/src/main/java/cn/hutool/captcha/generator/CodeGenerator.java b/hutool-swing/src/main/java/cn/hutool/swing/captcha/generator/CodeGenerator.java similarity index 92% rename from hutool-captcha/src/main/java/cn/hutool/captcha/generator/CodeGenerator.java rename to hutool-swing/src/main/java/cn/hutool/swing/captcha/generator/CodeGenerator.java index 6fbc97563..c18133d9e 100644 --- a/hutool-captcha/src/main/java/cn/hutool/captcha/generator/CodeGenerator.java +++ b/hutool-swing/src/main/java/cn/hutool/swing/captcha/generator/CodeGenerator.java @@ -1,4 +1,4 @@ -package cn.hutool.captcha.generator; +package cn.hutool.swing.captcha.generator; import java.io.Serializable; diff --git a/hutool-captcha/src/main/java/cn/hutool/captcha/generator/MathGenerator.java b/hutool-swing/src/main/java/cn/hutool/swing/captcha/generator/MathGenerator.java similarity index 97% rename from hutool-captcha/src/main/java/cn/hutool/captcha/generator/MathGenerator.java rename to hutool-swing/src/main/java/cn/hutool/swing/captcha/generator/MathGenerator.java index 7395b3ee5..b8cef9f0e 100644 --- a/hutool-captcha/src/main/java/cn/hutool/captcha/generator/MathGenerator.java +++ b/hutool-swing/src/main/java/cn/hutool/swing/captcha/generator/MathGenerator.java @@ -1,4 +1,4 @@ -package cn.hutool.captcha.generator; +package cn.hutool.swing.captcha.generator; import cn.hutool.core.math.Calculator; import cn.hutool.core.util.CharUtil; diff --git a/hutool-captcha/src/main/java/cn/hutool/captcha/generator/RandomGenerator.java b/hutool-swing/src/main/java/cn/hutool/swing/captcha/generator/RandomGenerator.java similarity index 96% rename from hutool-captcha/src/main/java/cn/hutool/captcha/generator/RandomGenerator.java rename to hutool-swing/src/main/java/cn/hutool/swing/captcha/generator/RandomGenerator.java index 5aa0ca985..6fa92eda0 100644 --- a/hutool-captcha/src/main/java/cn/hutool/captcha/generator/RandomGenerator.java +++ b/hutool-swing/src/main/java/cn/hutool/swing/captcha/generator/RandomGenerator.java @@ -1,4 +1,4 @@ -package cn.hutool.captcha.generator; +package cn.hutool.swing.captcha.generator; import cn.hutool.core.util.RandomUtil; import cn.hutool.core.util.StrUtil; diff --git a/hutool-captcha/src/main/java/cn/hutool/captcha/generator/package-info.java b/hutool-swing/src/main/java/cn/hutool/swing/captcha/generator/package-info.java similarity index 63% rename from hutool-captcha/src/main/java/cn/hutool/captcha/generator/package-info.java rename to hutool-swing/src/main/java/cn/hutool/swing/captcha/generator/package-info.java index c3fbf77a1..380611638 100644 --- a/hutool-captcha/src/main/java/cn/hutool/captcha/generator/package-info.java +++ b/hutool-swing/src/main/java/cn/hutool/swing/captcha/generator/package-info.java @@ -4,4 +4,4 @@ * @author looly * @since 4.1.2 */ -package cn.hutool.captcha.generator; \ No newline at end of file +package cn.hutool.swing.captcha.generator; diff --git a/hutool-captcha/src/main/java/cn/hutool/captcha/package-info.java b/hutool-swing/src/main/java/cn/hutool/swing/captcha/package-info.java similarity index 62% rename from hutool-captcha/src/main/java/cn/hutool/captcha/package-info.java rename to hutool-swing/src/main/java/cn/hutool/swing/captcha/package-info.java index c23501f5d..0301a4452 100644 --- a/hutool-captcha/src/main/java/cn/hutool/captcha/package-info.java +++ b/hutool-swing/src/main/java/cn/hutool/swing/captcha/package-info.java @@ -4,4 +4,4 @@ * @author looly * */ -package cn.hutool.captcha; \ No newline at end of file +package cn.hutool.swing.captcha; diff --git a/hutool-core/src/main/java/cn/hutool/core/swing/clipboard/ClipboardListener.java b/hutool-swing/src/main/java/cn/hutool/swing/clipboard/ClipboardListener.java similarity index 100% rename from hutool-core/src/main/java/cn/hutool/core/swing/clipboard/ClipboardListener.java rename to hutool-swing/src/main/java/cn/hutool/swing/clipboard/ClipboardListener.java diff --git a/hutool-core/src/main/java/cn/hutool/core/swing/clipboard/ClipboardMonitor.java b/hutool-swing/src/main/java/cn/hutool/swing/clipboard/ClipboardMonitor.java similarity index 100% rename from hutool-core/src/main/java/cn/hutool/core/swing/clipboard/ClipboardMonitor.java rename to hutool-swing/src/main/java/cn/hutool/swing/clipboard/ClipboardMonitor.java diff --git a/hutool-core/src/main/java/cn/hutool/core/swing/clipboard/ClipboardUtil.java b/hutool-swing/src/main/java/cn/hutool/swing/clipboard/ClipboardUtil.java similarity index 100% rename from hutool-core/src/main/java/cn/hutool/core/swing/clipboard/ClipboardUtil.java rename to hutool-swing/src/main/java/cn/hutool/swing/clipboard/ClipboardUtil.java diff --git a/hutool-core/src/main/java/cn/hutool/core/swing/clipboard/ImageSelection.java b/hutool-swing/src/main/java/cn/hutool/swing/clipboard/ImageSelection.java similarity index 100% rename from hutool-core/src/main/java/cn/hutool/core/swing/clipboard/ImageSelection.java rename to hutool-swing/src/main/java/cn/hutool/swing/clipboard/ImageSelection.java diff --git a/hutool-core/src/main/java/cn/hutool/core/swing/clipboard/StrClipboardListener.java b/hutool-swing/src/main/java/cn/hutool/swing/clipboard/StrClipboardListener.java similarity index 100% rename from hutool-core/src/main/java/cn/hutool/core/swing/clipboard/StrClipboardListener.java rename to hutool-swing/src/main/java/cn/hutool/swing/clipboard/StrClipboardListener.java diff --git a/hutool-core/src/main/java/cn/hutool/core/swing/clipboard/package-info.java b/hutool-swing/src/main/java/cn/hutool/swing/clipboard/package-info.java similarity index 100% rename from hutool-core/src/main/java/cn/hutool/core/swing/clipboard/package-info.java rename to hutool-swing/src/main/java/cn/hutool/swing/clipboard/package-info.java diff --git a/hutool-core/src/main/java/cn/hutool/core/img/BackgroundRemoval.java b/hutool-swing/src/main/java/cn/hutool/swing/img/BackgroundRemoval.java similarity index 99% rename from hutool-core/src/main/java/cn/hutool/core/img/BackgroundRemoval.java rename to hutool-swing/src/main/java/cn/hutool/swing/img/BackgroundRemoval.java index 92c43f666..d77a30c37 100644 --- a/hutool-core/src/main/java/cn/hutool/core/img/BackgroundRemoval.java +++ b/hutool-swing/src/main/java/cn/hutool/swing/img/BackgroundRemoval.java @@ -1,8 +1,9 @@ -package cn.hutool.core.img; +package cn.hutool.swing.img; import cn.hutool.core.io.FileTypeUtil; import cn.hutool.core.util.ArrayUtil; import cn.hutool.core.util.StrUtil; +import cn.hutool.swing.img.ImgUtil; import javax.imageio.ImageIO; import javax.swing.ImageIcon; @@ -351,4 +352,4 @@ public class BackgroundRemoval { } return false; } -} \ No newline at end of file +} diff --git a/hutool-core/src/main/java/cn/hutool/core/img/FontUtil.java b/hutool-swing/src/main/java/cn/hutool/swing/img/FontUtil.java similarity index 98% rename from hutool-core/src/main/java/cn/hutool/core/img/FontUtil.java rename to hutool-swing/src/main/java/cn/hutool/swing/img/FontUtil.java index 2a940339d..4e634b349 100644 --- a/hutool-core/src/main/java/cn/hutool/core/img/FontUtil.java +++ b/hutool-swing/src/main/java/cn/hutool/swing/img/FontUtil.java @@ -1,4 +1,4 @@ -package cn.hutool.core.img; +package cn.hutool.swing.img; import cn.hutool.core.exceptions.UtilException; import cn.hutool.core.io.IORuntimeException; diff --git a/hutool-core/src/main/java/cn/hutool/core/img/GraphicsUtil.java b/hutool-swing/src/main/java/cn/hutool/swing/img/GraphicsUtil.java similarity index 99% rename from hutool-core/src/main/java/cn/hutool/core/img/GraphicsUtil.java rename to hutool-swing/src/main/java/cn/hutool/swing/img/GraphicsUtil.java index 79cf288d2..dcb12c0d6 100644 --- a/hutool-core/src/main/java/cn/hutool/core/img/GraphicsUtil.java +++ b/hutool-swing/src/main/java/cn/hutool/swing/img/GraphicsUtil.java @@ -1,4 +1,4 @@ -package cn.hutool.core.img; +package cn.hutool.swing.img; import cn.hutool.core.util.ObjectUtil; diff --git a/hutool-core/src/main/java/cn/hutool/core/img/Img.java b/hutool-swing/src/main/java/cn/hutool/swing/img/Img.java similarity index 99% rename from hutool-core/src/main/java/cn/hutool/core/img/Img.java rename to hutool-swing/src/main/java/cn/hutool/swing/img/Img.java index 754ce85ef..920974c3a 100644 --- a/hutool-core/src/main/java/cn/hutool/core/img/Img.java +++ b/hutool-swing/src/main/java/cn/hutool/swing/img/Img.java @@ -1,4 +1,4 @@ -package cn.hutool.core.img; +package cn.hutool.swing.img; import cn.hutool.core.io.FileUtil; import cn.hutool.core.io.IORuntimeException; diff --git a/hutool-core/src/main/java/cn/hutool/core/img/ImgUtil.java b/hutool-swing/src/main/java/cn/hutool/swing/img/ImgUtil.java similarity index 99% rename from hutool-core/src/main/java/cn/hutool/core/img/ImgUtil.java rename to hutool-swing/src/main/java/cn/hutool/swing/img/ImgUtil.java index 7fc019675..3253b017e 100644 --- a/hutool-core/src/main/java/cn/hutool/core/img/ImgUtil.java +++ b/hutool-swing/src/main/java/cn/hutool/swing/img/ImgUtil.java @@ -1,4 +1,4 @@ -package cn.hutool.core.img; +package cn.hutool.swing.img; import cn.hutool.core.codec.Base64; import cn.hutool.core.convert.Convert; @@ -63,7 +63,7 @@ import java.util.Random; /** * 图片处理工具类:
    * 功能:缩放图像、切割图像、旋转、图像类型转换、彩色转黑白、文字水印、图片水印等
    - * 参考:http://blog.csdn.net/zhangzhikaixinya/article/details/8459400 + * 参考:http://blog.csdn.net/zhangzhikaixinya/article/details/8459400 * * @author Looly */ @@ -1046,7 +1046,7 @@ public class ImgUtil { /** * 旋转图片为指定角度
    - * 来自:http://blog.51cto.com/cping1982/130066 + * 来自:http://blog.51cto.com/cping1982/130066 * * @param image 目标图像 * @param degree 旋转角度 diff --git a/hutool-core/src/main/java/cn/hutool/core/img/ScaleType.java b/hutool-swing/src/main/java/cn/hutool/swing/img/ScaleType.java similarity index 100% rename from hutool-core/src/main/java/cn/hutool/core/img/ScaleType.java rename to hutool-swing/src/main/java/cn/hutool/swing/img/ScaleType.java diff --git a/hutool-core/src/main/java/cn/hutool/core/img/gif/AnimatedGifEncoder.java b/hutool-swing/src/main/java/cn/hutool/swing/img/gif/AnimatedGifEncoder.java similarity index 98% rename from hutool-core/src/main/java/cn/hutool/core/img/gif/AnimatedGifEncoder.java rename to hutool-swing/src/main/java/cn/hutool/swing/img/gif/AnimatedGifEncoder.java index f1cf8df40..30329508d 100644 --- a/hutool-core/src/main/java/cn/hutool/core/img/gif/AnimatedGifEncoder.java +++ b/hutool-swing/src/main/java/cn/hutool/swing/img/gif/AnimatedGifEncoder.java @@ -1,4 +1,4 @@ -package cn.hutool.core.img.gif; +package cn.hutool.swing.img.gif; import java.awt.Color; import java.awt.Graphics2D; @@ -22,7 +22,7 @@ import java.io.OutputStream; * e.finish(); * *

    - * 来自:https://github.com/rtyley/animated-gif-lib-for-java + * 来自:https://github.com/rtyley/animated-gif-lib-for-java * * @author Kevin Weiner, FM Software * @version 1.03 November 2003 diff --git a/hutool-core/src/main/java/cn/hutool/core/img/gif/GifDecoder.java b/hutool-swing/src/main/java/cn/hutool/swing/img/gif/GifDecoder.java similarity index 99% rename from hutool-core/src/main/java/cn/hutool/core/img/gif/GifDecoder.java rename to hutool-swing/src/main/java/cn/hutool/swing/img/gif/GifDecoder.java index ecbb6450e..56637ea61 100644 --- a/hutool-core/src/main/java/cn/hutool/core/img/gif/GifDecoder.java +++ b/hutool-swing/src/main/java/cn/hutool/swing/img/gif/GifDecoder.java @@ -1,4 +1,4 @@ -package cn.hutool.core.img.gif; +package cn.hutool.swing.img.gif; import cn.hutool.core.io.IoUtil; diff --git a/hutool-core/src/main/java/cn/hutool/core/img/gif/LZWEncoder.java b/hutool-swing/src/main/java/cn/hutool/swing/img/gif/LZWEncoder.java similarity index 99% rename from hutool-core/src/main/java/cn/hutool/core/img/gif/LZWEncoder.java rename to hutool-swing/src/main/java/cn/hutool/swing/img/gif/LZWEncoder.java index 129821b91..a7459adf8 100644 --- a/hutool-core/src/main/java/cn/hutool/core/img/gif/LZWEncoder.java +++ b/hutool-swing/src/main/java/cn/hutool/swing/img/gif/LZWEncoder.java @@ -1,4 +1,4 @@ -package cn.hutool.core.img.gif; +package cn.hutool.swing.img.gif; import java.io.IOException; import java.io.OutputStream; diff --git a/hutool-core/src/main/java/cn/hutool/core/img/gif/NeuQuant.java b/hutool-swing/src/main/java/cn/hutool/swing/img/gif/NeuQuant.java similarity index 91% rename from hutool-core/src/main/java/cn/hutool/core/img/gif/NeuQuant.java rename to hutool-swing/src/main/java/cn/hutool/swing/img/gif/NeuQuant.java index 09faae944..4753a49c2 100644 --- a/hutool-core/src/main/java/cn/hutool/core/img/gif/NeuQuant.java +++ b/hutool-swing/src/main/java/cn/hutool/swing/img/gif/NeuQuant.java @@ -1,26 +1,4 @@ -package cn.hutool.core.img.gif; - -/* NeuQuant Neural-Net Quantization Algorithm - * ------------------------------------------ - * - * Copyright (c) 1994 Anthony Dekker - * - * NEUQUANT Neural-Net quantization algorithm by Anthony Dekker, 1994. - * See "Kohonen neural networks for optimal colour quantization" - * in "Network: Computation in Neural Systems" Vol. 5 (1994) pp 351-367. - * for a discussion of the algorithm. - * - * Any party obtaining a copy of these files from the author, directly or - * indirectly, is granted, free of charge, a full and unrestricted irrevocable, - * world-wide, paid up, royalty-free, nonexclusive right and license to deal - * in this software and documentation files (the "Software"), including without - * limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, - * and/or sell copies of the Software, and to permit persons who receive - * copies from any such party to do so, with the only requirement being - * that this copyright notice remain intact. - */ - -// Ported to Java 12/00 K Weiner +package cn.hutool.swing.img.gif; /** * NeuQuant Neural-Net Quantization Algorithm diff --git a/hutool-swing/src/main/java/cn/hutool/swing/img/gif/package-info.java b/hutool-swing/src/main/java/cn/hutool/swing/img/gif/package-info.java new file mode 100644 index 000000000..e0280645d --- /dev/null +++ b/hutool-swing/src/main/java/cn/hutool/swing/img/gif/package-info.java @@ -0,0 +1,7 @@ +/** + * GIF处理,来自:https://github.com/rtyley/animated-gif-lib-for-java + * + * @author looly + * + */ +package cn.hutool.swing.img.gif; diff --git a/hutool-core/src/main/java/cn/hutool/core/img/package-info.java b/hutool-swing/src/main/java/cn/hutool/swing/img/package-info.java similarity index 100% rename from hutool-core/src/main/java/cn/hutool/core/img/package-info.java rename to hutool-swing/src/main/java/cn/hutool/swing/img/package-info.java diff --git a/hutool-core/src/main/java/cn/hutool/core/swing/package-info.java b/hutool-swing/src/main/java/cn/hutool/swing/package-info.java similarity index 100% rename from hutool-core/src/main/java/cn/hutool/core/swing/package-info.java rename to hutool-swing/src/main/java/cn/hutool/swing/package-info.java diff --git a/hutool-core/src/test/java/cn/hutool/core/swing/ClipboardMonitorTest.java b/hutool-swing/src/test/java/cn/hutool/swing/ClipboardMonitorTest.java similarity index 100% rename from hutool-core/src/test/java/cn/hutool/core/swing/ClipboardMonitorTest.java rename to hutool-swing/src/test/java/cn/hutool/swing/ClipboardMonitorTest.java diff --git a/hutool-core/src/test/java/cn/hutool/core/swing/ClipboardUtilTest.java b/hutool-swing/src/test/java/cn/hutool/swing/ClipboardUtilTest.java similarity index 100% rename from hutool-core/src/test/java/cn/hutool/core/swing/ClipboardUtilTest.java rename to hutool-swing/src/test/java/cn/hutool/swing/ClipboardUtilTest.java diff --git a/hutool-core/src/test/java/cn/hutool/core/swing/DesktopUtilTest.java b/hutool-swing/src/test/java/cn/hutool/swing/DesktopUtilTest.java similarity index 84% rename from hutool-core/src/test/java/cn/hutool/core/swing/DesktopUtilTest.java rename to hutool-swing/src/test/java/cn/hutool/swing/DesktopUtilTest.java index ebcd222f6..561dc520a 100644 --- a/hutool-core/src/test/java/cn/hutool/core/swing/DesktopUtilTest.java +++ b/hutool-swing/src/test/java/cn/hutool/swing/DesktopUtilTest.java @@ -1,10 +1,10 @@ -package cn.hutool.core.swing; +package cn.hutool.swing; import org.junit.Ignore; import org.junit.Test; public class DesktopUtilTest { - + @Test @Ignore public void browseTest() { diff --git a/hutool-core/src/test/java/cn/hutool/core/swing/RobotUtilTest.java b/hutool-swing/src/test/java/cn/hutool/swing/RobotUtilTest.java similarity index 79% rename from hutool-core/src/test/java/cn/hutool/core/swing/RobotUtilTest.java rename to hutool-swing/src/test/java/cn/hutool/swing/RobotUtilTest.java index e0c7f5574..553f02d71 100644 --- a/hutool-core/src/test/java/cn/hutool/core/swing/RobotUtilTest.java +++ b/hutool-swing/src/test/java/cn/hutool/swing/RobotUtilTest.java @@ -1,9 +1,9 @@ -package cn.hutool.core.swing; - -import org.junit.Ignore; -import org.junit.Test; +package cn.hutool.swing; import cn.hutool.core.io.FileUtil; +import cn.hutool.swing.RobotUtil; +import org.junit.Ignore; +import org.junit.Test; public class RobotUtilTest { diff --git a/hutool-captcha/src/test/java/cn/hutool/captcha/CaptchaTest.java b/hutool-swing/src/test/java/cn/hutool/swing/captcha/CaptchaTest.java similarity index 97% rename from hutool-captcha/src/test/java/cn/hutool/captcha/CaptchaTest.java rename to hutool-swing/src/test/java/cn/hutool/swing/captcha/CaptchaTest.java index 965cbc1e7..f381a58a6 100644 --- a/hutool-captcha/src/test/java/cn/hutool/captcha/CaptchaTest.java +++ b/hutool-swing/src/test/java/cn/hutool/swing/captcha/CaptchaTest.java @@ -1,6 +1,6 @@ -package cn.hutool.captcha; +package cn.hutool.swing.captcha; -import cn.hutool.captcha.generator.MathGenerator; +import cn.hutool.swing.captcha.generator.MathGenerator; import cn.hutool.core.lang.Console; import org.junit.Assert; import org.junit.Ignore; diff --git a/hutool-captcha/src/test/java/cn/hutool/captcha/CaptchaUtilTest.java b/hutool-swing/src/test/java/cn/hutool/swing/captcha/CaptchaUtilTest.java similarity index 86% rename from hutool-captcha/src/test/java/cn/hutool/captcha/CaptchaUtilTest.java rename to hutool-swing/src/test/java/cn/hutool/swing/captcha/CaptchaUtilTest.java index d57cc393d..5ae8f314e 100644 --- a/hutool-captcha/src/test/java/cn/hutool/captcha/CaptchaUtilTest.java +++ b/hutool-swing/src/test/java/cn/hutool/swing/captcha/CaptchaUtilTest.java @@ -1,4 +1,4 @@ -package cn.hutool.captcha; +package cn.hutool.swing.captcha; import org.junit.Ignore; import org.junit.Test; diff --git a/hutool-captcha/src/test/java/cn/hutool/captcha/GeneratorTest.java b/hutool-swing/src/test/java/cn/hutool/swing/captcha/GeneratorTest.java similarity index 74% rename from hutool-captcha/src/test/java/cn/hutool/captcha/GeneratorTest.java rename to hutool-swing/src/test/java/cn/hutool/swing/captcha/GeneratorTest.java index 999be5c52..9314396f1 100644 --- a/hutool-captcha/src/test/java/cn/hutool/captcha/GeneratorTest.java +++ b/hutool-swing/src/test/java/cn/hutool/swing/captcha/GeneratorTest.java @@ -1,6 +1,6 @@ -package cn.hutool.captcha; +package cn.hutool.swing.captcha; -import cn.hutool.captcha.generator.MathGenerator; +import cn.hutool.swing.captcha.generator.MathGenerator; import org.junit.Test; public class GeneratorTest { diff --git a/hutool-core/src/test/java/cn/hutool/core/img/FontUtilTest.java b/hutool-swing/src/test/java/cn/hutool/swing/img/FontUtilTest.java similarity index 88% rename from hutool-core/src/test/java/cn/hutool/core/img/FontUtilTest.java rename to hutool-swing/src/test/java/cn/hutool/swing/img/FontUtilTest.java index f126d925e..873fa75ba 100644 --- a/hutool-core/src/test/java/cn/hutool/core/img/FontUtilTest.java +++ b/hutool-swing/src/test/java/cn/hutool/swing/img/FontUtilTest.java @@ -1,4 +1,4 @@ -package cn.hutool.core.img; +package cn.hutool.swing.img; import org.junit.Assert; import org.junit.Test; diff --git a/hutool-core/src/test/java/cn/hutool/core/img/ImgTest.java b/hutool-swing/src/test/java/cn/hutool/swing/img/ImgTest.java similarity index 98% rename from hutool-core/src/test/java/cn/hutool/core/img/ImgTest.java rename to hutool-swing/src/test/java/cn/hutool/swing/img/ImgTest.java index 09a52a681..d443a00ca 100644 --- a/hutool-core/src/test/java/cn/hutool/core/img/ImgTest.java +++ b/hutool-swing/src/test/java/cn/hutool/swing/img/ImgTest.java @@ -1,4 +1,4 @@ -package cn.hutool.core.img; +package cn.hutool.swing.img; import cn.hutool.core.io.FileTypeUtil; import cn.hutool.core.io.FileUtil; diff --git a/hutool-core/src/test/java/cn/hutool/core/img/ImgUtilTest.java b/hutool-swing/src/test/java/cn/hutool/swing/img/ImgUtilTest.java similarity index 98% rename from hutool-core/src/test/java/cn/hutool/core/img/ImgUtilTest.java rename to hutool-swing/src/test/java/cn/hutool/swing/img/ImgUtilTest.java index a91e3de6a..0fafbaee5 100644 --- a/hutool-core/src/test/java/cn/hutool/core/img/ImgUtilTest.java +++ b/hutool-swing/src/test/java/cn/hutool/swing/img/ImgUtilTest.java @@ -1,6 +1,7 @@ -package cn.hutool.core.img; +package cn.hutool.swing.img; import cn.hutool.core.io.FileUtil; +import cn.hutool.swing.img.ImgUtil; import org.junit.Assert; import org.junit.Ignore; import org.junit.Test; diff --git a/hutool-system/pom.xml b/hutool-system/pom.xml deleted file mode 100755 index 2f557d049..000000000 --- a/hutool-system/pom.xml +++ /dev/null @@ -1,43 +0,0 @@ - - - 4.0.0 - - jar - - - cn.hutool - hutool-parent - 5.8.0.M5 - - - hutool-system - ${project.artifactId} - Hutool 系统调用(Runtime)、系统监控封装 - - - 1.7.36 - - - - - cn.hutool - hutool-core - ${project.parent.version} - - - - com.github.oshi - oshi-core - 6.1.6 - provided - - - org.slf4j - slf4j-simple - ${slf4j.version} - test - - - diff --git a/pom.xml b/pom.xml index 089982238..18a492452 100755 --- a/pom.xml +++ b/pom.xml @@ -8,7 +8,7 @@ cn.hutool hutool-parent - 5.8.0.M5 + 6.0.0.M1 hutool Hutool是一个小而全的Java工具类库,通过静态方法封装,降低相关API的学习成本,提高工作效率,使Java拥有函数式语言般的优雅,让Java语言也可以“甜甜的”。 https://github.com/dromara/hutool @@ -16,25 +16,18 @@ hutool-all hutool-bom - hutool-aop - hutool-bloomFilter - hutool-cache hutool-core hutool-cron hutool-crypto hutool-db - hutool-dfa hutool-extra hutool-http hutool-log - hutool-script hutool-setting - hutool-system hutool-json hutool-poi - hutool-captcha hutool-socket - hutool-jwt + hutool-swing @@ -148,6 +141,14 @@ + + org.codehaus.mojo + versions-maven-plugin + 2.10.0 + + false + + org.codehaus.mojo