添加 modul-info.java 暂未完成

This commit is contained in:
choweli 2025-04-18 17:22:55 +08:00
parent bedfa07a8a
commit 2a90c4b7b5
33 changed files with 948 additions and 28 deletions

View File

@ -18,6 +18,11 @@
<properties>
<Automatic-Module-Name>cn.hutool.v7.ai</Automatic-Module-Name>
<moshi.version>1.15.2</moshi.version>
<jackson.version>2.18.1</jackson.version>
<fastjson2.version>2.0.53</fastjson2.version>
<gson.version>2.13.0</gson.version>
</properties>
<dependencies>
@ -43,12 +48,49 @@
<version>${project.parent.version}</version>
<scope>compile</scope>
</dependency>
<dependency>
<groupId>cn.hutool.v7</groupId>
<artifactId>hutool-crypto</artifactId>
<version>${project.parent.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>cn.hutool.v7</groupId>
<artifactId>hutool-swing</artifactId>
<version>${project.parent.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.squareup.moshi</groupId>
<artifactId>moshi</artifactId>
<version>${moshi.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>${jackson.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.alibaba.fastjson2</groupId>
<artifactId>fastjson2</artifactId>
<version>${fastjson2.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>com.google.code.gson</groupId>
<artifactId>gson</artifactId>
<version>${gson.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.bouncycastle</groupId>
<artifactId>bcpkix-jdk18on</artifactId>
<version>${bouncycastle.version}</version>
<scope>compile</scope>
<optional>true</optional>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,34 @@
/*
* Copyright (c) 2025 Hutool Team and hutool.cn
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
*
* @author choweli
*/
module hutool.ai {
exports cn.hutool.v7.ai;
exports cn.hutool.v7.ai.core;
exports cn.hutool.v7.ai.model.deepseek;
exports cn.hutool.v7.ai.model.doubao;
exports cn.hutool.v7.ai.model.grok;
exports cn.hutool.v7.ai.model.openai;
requires hutool.json;
requires hutool.core;
requires hutool.crypto;
requires hutool.http;
}

View File

@ -82,6 +82,6 @@ class AIUtilTest {
messages.add(new Message("system","你是财神爷,只会说“我是财神”"));
messages.add(new Message("user","你是谁啊?"));
final String chat = AIUtil.chat(new AIConfigBuilder(ModelName.DEEPSEEK.getValue()).setApiKey(key).build(), messages);
System.out.println(chat);
assertNotNull(chat);
}
}

View File

@ -0,0 +1,23 @@
/*
* Copyright (c) 2025 Hutool Team and hutool.cn
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
*
* @author choweli
*/
module hutool.all {
}

View File

@ -0,0 +1,93 @@
/*
* Copyright (c) 2025 Hutool Team and hutool.cn
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
*
* @author choweli
*/
module hutool.core {
exports cn.hutool.v7.core.exception;
exports cn.hutool.v7.core.lang;
exports cn.hutool.v7.core.lang.wrapper;
exports cn.hutool.v7.core.text;
exports cn.hutool.v7.core.io;
exports cn.hutool.v7.core.io.file;
exports cn.hutool.v7.core.io.stream;
exports cn.hutool.v7.core.io.resource;
exports cn.hutool.v7.core.util;
exports cn.hutool.v7.core.array;
exports cn.hutool.v7.core.codec.binary;
exports cn.hutool.v7.core.thread;
exports cn.hutool.v7.core.thread.lock;
exports cn.hutool.v7.core.map;
exports cn.hutool.v7.core.collection;
exports cn.hutool.v7.core.spi;
exports cn.hutool.v7.core.func;
exports cn.hutool.v7.core.lang.caller;
exports cn.hutool.v7.core.reflect;
exports cn.hutool.v7.core.lang.ansi;
exports cn.hutool.v7.core.date;
exports cn.hutool.v7.core.lang.getter;
exports cn.hutool.v7.core.text.split;
exports cn.hutool.v7.core.bean.copier;
exports cn.hutool.v7.core.bean.path;
exports cn.hutool.v7.core.bean;
exports cn.hutool.v7.core.net.url;
exports cn.hutool.v7.core.io.watch;
exports cn.hutool.v7.core.io.watch.watchers;
exports cn.hutool.v7.core.convert;
exports cn.hutool.v7.core.regex;
exports cn.hutool.v7.core.map.concurrent;
exports cn.hutool.v7.core.math;
exports cn.hutool.v7.core.collection.set;
exports cn.hutool.v7.core.collection.iter;
exports cn.hutool.v7.core.reflect.method;
exports cn.hutool.v7.core.lang.builder;
exports cn.hutool.v7.core.lang.range;
exports cn.hutool.v7.core.lang.page;
exports cn.hutool.v7.core.classloader;
exports cn.hutool.v7.core.pool;
exports cn.hutool.v7.core.pool.partition;
exports cn.hutool.v7.core.stream;
exports cn.hutool.v7.core.lang.tuple;
exports cn.hutool.v7.core.codec;
exports cn.hutool.v7.core.net;
exports cn.hutool.v7.core.map.reference;
exports cn.hutool.v7.core.lang.mutable;
exports cn.hutool.v7.core.lang.loader;
exports cn.hutool.v7.core.comparator;
exports cn.hutool.v7.core.date.format;
exports cn.hutool.v7.core.lang.copier;
exports cn.hutool.v7.core.convert.impl;
exports cn.hutool.v7.core.bean.path.node;
exports cn.hutool.v7.core.xml;
exports cn.hutool.v7.core.reflect.kotlin;
exports cn.hutool.v7.core.text.escape;
exports cn.hutool.v7.core.annotation;
exports cn.hutool.v7.core.map.multi;
exports cn.hutool.v7.core.data.id;
exports cn.hutool.v7.core.io.buffer;
exports cn.hutool.v7.core.reflect.creator;
exports cn.hutool.v7.core.compress;
exports cn.hutool.v7.core.net.ssl;
requires java.desktop;
requires java.sql;
requires java.management;
requires java.compiler;
requires java.naming;
}

View File

@ -34,6 +34,15 @@
<properties>
<Automatic-Module-Name>cn.hutool.v7.cron</Automatic-Module-Name>
<snakeyaml.version>2.3</snakeyaml.version>
<!-- 固定3.4.x支持到jdk8 -->
<jboss-logging.version>3.4.3.Final</jboss-logging.version>
<slf4j.version>2.0.9</slf4j.version>
<log4j.version>1.2.17</log4j.version>
<log4j2.version>2.20.0</log4j2.version>
<tinylog.version>1.3.6</tinylog.version>
<tinylog2.version>2.7.0</tinylog2.version>
<commons-logging.version>1.3.4</commons-logging.version>
</properties>
<dependencies>
@ -53,5 +62,54 @@
<version>2.4.0</version>
<scope>test</scope>
</dependency>
<!-- YAML支持 -->
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>${snakeyaml.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
<version>${jboss-logging.version}</version>
</dependency>
<!-- 仅用于测试 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4j2.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.tinylog</groupId>
<artifactId>tinylog</artifactId>
<version>${tinylog.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.tinylog</groupId>
<artifactId>tinylog-api</artifactId>
<version>${tinylog2.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>${commons-logging.version}</version>
<optional>true</optional>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,26 @@
/*
* Copyright (c) 2025 Hutool Team and hutool.cn
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
*
* @author choweli
*/
module hutool.cron {
requires hutool.setting;
requires hutool.log;
requires hutool.core;
}

View File

@ -0,0 +1,32 @@
/*
* Copyright (c) 2025 Hutool Team and hutool.cn
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
*
* @author choweli
*/
module hutool.crypto {
exports cn.hutool.v7.crypto;
exports cn.hutool.v7.crypto.provider;
exports cn.hutool.v7.crypto.digest.mac;
exports cn.hutool.v7.crypto.asymmetric;
requires hutool.core;
requires org.bouncycastle.provider;
requires java.security.sasl;
requires org.bouncycastle.pkix;
}

View File

@ -42,6 +42,15 @@
<hikariCP.version>6.3.0</hikariCP.version>
<sqlite.version>3.46.0.0</sqlite.version>
<hsqldb.version>2.7.4</hsqldb.version>
<!--log-->
<snakeyaml.version>2.3</snakeyaml.version>
<jboss-logging.version>3.4.3.Final</jboss-logging.version>
<slf4j.version>2.0.9</slf4j.version>
<log4j.version>1.2.17</log4j.version>
<log4j2.version>2.20.0</log4j2.version>
<tinylog.version>1.3.6</tinylog.version>
<tinylog2.version>2.7.0</tinylog2.version>
<commons-logging.version>1.3.4</commons-logging.version>
</properties>
<dependencies>
@ -167,5 +176,53 @@
<version>2.24.7</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.yaml</groupId>
<artifactId>snakeyaml</artifactId>
<version>${snakeyaml.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
<version>${jboss-logging.version}</version>
</dependency>
<!-- 仅用于测试 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4j2.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.tinylog</groupId>
<artifactId>tinylog</artifactId>
<version>${tinylog.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.tinylog</groupId>
<artifactId>tinylog-api</artifactId>
<version>${tinylog2.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>${commons-logging.version}</version>
<optional>true</optional>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,8 @@
package cn.hutool.v7.db.pojo;
/**
* 为了通过test进行占位
* @author choweli
*/
public class Test {
}

View File

@ -0,0 +1,53 @@
/*
* Copyright (c) 2025 Hutool Team and hutool.cn
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
*
* @author choweli
*/
module hutool.db {
exports cn.hutool.v7.db;
exports cn.hutool.v7.db.config;
exports cn.hutool.v7.db.ds;
exports cn.hutool.v7.db.ds.bee;
exports cn.hutool.v7.db.ds.c3p0;
exports cn.hutool.v7.db.ds.dbcp;
exports cn.hutool.v7.db.ds.druid;
exports cn.hutool.v7.db.ds.hikari;
exports cn.hutool.v7.db.ds.jndi;
exports cn.hutool.v7.db.ds.pooled;
exports cn.hutool.v7.db.ds.simple;
exports cn.hutool.v7.db.ds.tomcat;
requires hutool.setting;
requires hutool.log;
requires hutool.core;
requires beecp;
requires com.mchange.v2.c3p0;
requires java.desktop;
requires org.apache.commons.dbcp2;
requires druid;
requires com.zaxxer.hikari;
requires java.sql;
requires java.naming;
requires tomcat.jdbc;
opens cn.hutool.v7.db;
opens cn.hutool.v7.db.config;
opens cn.hutool.v7.db.pojo;
}

View File

@ -268,6 +268,17 @@
<groupId>org.apache.sshd</groupId>
<artifactId>sshd-core</artifactId>
<version>${sshd.version}</version>
<exclusions>
<exclusion>
<groupId>org.apache.sshd</groupId>
<artifactId>sshd-common</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.apache.sshd</groupId>
<artifactId>sshd-common</artifactId>
<version>${sshd.version}</version>
</dependency>
<!-- FTP工具 -->
<dependency>

View File

@ -0,0 +1,54 @@
/*
* Copyright (c) 2025 Hutool Team and hutool.cn
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
*
* @author choweli
*/
module hutool.extra {
requires spring.core;
requires org.apache.commons.compress;
requires emoji.java;
requires org.apache.commons.net;
requires ftpserver.core;
requires ftplet.api;
requires hutool.setting;
requires hutool.log;
requires hutool.core;
requires jakarta.mail;
requires java.management;
requires com.github.oshi;
requires kafka.clients;
requires com.rabbitmq.client;
requires rocketmq.client;
requires rocketmq.common;
requires bopomofo4j;
requires pinyin;
requires jpinyin;
requires pinyin4j;
requires TinyPinyin;
requires spring.context;
requires spring.beans;
requires ganymed.ssh2;
requires com.jcraft.jsch;
requires static org.apache.sshd.core;
requires static org.apache.sshd.common;
requires mmseg4j.core;
requires lucene.core;
requires lucene.analyzers.smartcn;
}

View File

@ -36,7 +36,7 @@
<Automatic-Module-Name>cn.hutool.v7.http</Automatic-Module-Name>
<httpclient5.version>5.4.3</httpclient5.version>
<httpclient4.version>4.5.14</httpclient4.version>
<okhttp.version>4.12.0</okhttp.version>
<okhttp.version>5.0.0-alpha.14</okhttp.version>
<undertow.version>2.3.18.Final</undertow.version>
<jetty.version>12.0.19</jetty.version>
<tomcat.version>11.0.6</tomcat.version>
@ -123,6 +123,12 @@
<artifactId>tomcat-embed-core</artifactId>
<version>${tomcat.version}</version>
<scope>provided</scope>
<exclusions>
<exclusion>
<groupId>jakarta.servlet</groupId>
<artifactId>jakarta.servlet-api</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.smartboot.http</groupId>

View File

@ -0,0 +1,41 @@
/*
* Copyright (c) 2025 Hutool Team and hutool.cn
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
*
* @author choweli
*/
module hutool.http {
requires jdk.httpserver;
requires hutool.log;
requires org.apache.httpcomponents.httpclient;
requires org.apache.httpcomponents.httpcore;
requires hutool.core;
requires org.apache.httpcomponents.core5.httpcore5;
requires org.apache.httpcomponents.client5.httpclient5;
requires okhttp3;
requires org.eclipse.jetty.server;
requires smart.http.server;
requires undertow.core;
requires jakarta.xml.soap;
requires okio;
requires smart.http.common;
requires org.apache.tomcat.embed.core;
requires aio.pro;
// requires aio.core;
}

View File

@ -0,0 +1,23 @@
/*
* Copyright (c) 2025 Hutool Team and hutool.cn
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
*
* @author choweli
*/
module hutool.jmh {
}

View File

@ -0,0 +1,8 @@
package cn.hutool.v7.json.issues;
/**
* 为了通过test进行占位
* @author choweli
*/
public class Test {
}

View File

@ -0,0 +1,8 @@
package cn.hutool.v7.json.issues.issueIVMD5;
/**
* 为了通过test进行占位
* @author choweli
*/
public class Test {
}

View File

@ -0,0 +1,8 @@
package cn.hutool.v7.json.test.bean;
/**
* 为了通过test进行占位
* @author choweli
*/
public class Test {
}

View File

@ -0,0 +1,8 @@
package cn.hutool.v7.json.test.bean.report;
/**
* 为了通过test进行占位
* @author choweli
*/
public class Test {
}

View File

@ -0,0 +1,48 @@
/*
* Copyright (c) 2025 Hutool Team and hutool.cn
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
*
* @author choweli
*/
module hutool.json {
exports cn.hutool.v7.json;
exports cn.hutool.v7.json.jwt;
exports cn.hutool.v7.json.writer;
exports cn.hutool.v7.json.engine;
exports cn.hutool.v7.json.engine.gson;
exports cn.hutool.v7.json.engine.moshi;
exports cn.hutool.v7.json.engine.jackson;
exports cn.hutool.v7.json.engine.fastjson;
exports cn.hutool.v7.json.test.bean;
exports cn.hutool.v7.json.test.bean.report;
requires hutool.core;
requires hutool.crypto;
requires com.alibaba.fastjson2;
requires com.google.gson;
requires com.fasterxml.jackson.databind;
requires com.squareup.moshi;
requires okio;
requires java.sql;
opens cn.hutool.v7.json;
opens cn.hutool.v7.json.jwt;
opens cn.hutool.v7.json.engine;
opens cn.hutool.v7.json.issues;
opens cn.hutool.v7.json.issues.issueIVMD5;
}

View File

@ -16,10 +16,9 @@
package cn.hutool.v7.log.engine.commons;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.impl.Log4JLogger;
import cn.hutool.v7.log.engine.log4j.Log4jLog;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
/**
* Apache Commons Logging for Log4j
@ -36,8 +35,8 @@ public class ApacheCommonsLog4JLog extends Log4jLog {
*
* @param logger Logger
*/
public ApacheCommonsLog4JLog(final Log logger) {
super(((Log4JLogger) logger).getLogger());
public ApacheCommonsLog4JLog(final Logger logger) {
super(logger);
}
/**
@ -46,7 +45,7 @@ public class ApacheCommonsLog4JLog extends Log4jLog {
* @param clazz
*/
public ApacheCommonsLog4JLog(final Class<?> clazz) {
super(clazz);
super(LogManager.getLogger(clazz));
}
/**
@ -55,6 +54,6 @@ public class ApacheCommonsLog4JLog extends Log4jLog {
* @param name 名称
*/
public ApacheCommonsLog4JLog(final String name) {
super(name);
super(LogManager.getLogger(name));
}
}

View File

@ -16,11 +16,11 @@
package cn.hutool.v7.log.engine.log4j;
import org.apache.log4j.Level;
import org.apache.log4j.Logger;
import cn.hutool.v7.core.text.StrUtil;
import cn.hutool.v7.log.AbstractLog;
import org.apache.logging.log4j.Level;
import org.apache.logging.log4j.LogManager;
import org.apache.logging.log4j.Logger;
/**
* <a href="http://logging.apache.org/log4j/1.2/index.html">Apache Log4J</a> log.<br>
@ -49,7 +49,7 @@ public class Log4jLog extends AbstractLog {
* @param name 日志标识
*/
public Log4jLog(final String name) {
this(Logger.getLogger(name));
this(LogManager.getLogger(name));
}
/**
@ -101,7 +101,7 @@ public class Log4jLog extends AbstractLog {
// ------------------------------------------------------------------------- Warn
@Override
public boolean isWarnEnabled() {
return logger.isEnabledFor(Level.WARN);
return logger.isEnabled(Level.WARN);
}
@Override
@ -112,7 +112,7 @@ public class Log4jLog extends AbstractLog {
// ------------------------------------------------------------------------- Error
@Override
public boolean isErrorEnabled() {
return logger.isEnabledFor(Level.ERROR);
return logger.isEnabled(Level.ERROR);
}
@Override
@ -144,8 +144,9 @@ public class Log4jLog extends AbstractLog {
throw new Error(StrUtil.format("Can not identify level: {}", level));
}
if(logger.isEnabledFor(log4jLevel)) {
logger.log(fqcn, log4jLevel, StrUtil.format(format, arguments), t);
if(logger.isEnabled(log4jLevel)) {
//Log4j2的API设计已内置类名自动获取能力
logger.log(log4jLevel, StrUtil.format(format, arguments), t);
}
}
}

View File

@ -16,13 +16,15 @@
package cn.hutool.v7.log.engine.tinylog;
import cn.hutool.v7.log.AbstractLog;
import org.pmw.tinylog.Level;
import org.pmw.tinylog.LogEntryForwarder;
import org.pmw.tinylog.Logger;
import cn.hutool.v7.core.array.ArrayUtil;
import cn.hutool.v7.core.text.StrUtil;
import cn.hutool.v7.log.AbstractLog;
import org.tinylog.Level;
import org.tinylog.configuration.Configuration;
import org.tinylog.format.AdvancedMessageFormatter;
import org.tinylog.format.MessageFormatter;
import org.tinylog.provider.LoggingProvider;
import org.tinylog.provider.ProviderRegistry;
/**
* <a href="http://www.tinylog.org/">tinylog</a> log.<br>
@ -39,6 +41,12 @@ public class TinyLog extends AbstractLog {
private final int level;
private final String name;
private static final LoggingProvider provider = ProviderRegistry.getLoggingProvider();
private static final MessageFormatter formatter = new AdvancedMessageFormatter(
Configuration.getLocale(),
Configuration.isEscapingEnabled()
);
/**
* 构造
@ -57,7 +65,7 @@ public class TinyLog extends AbstractLog {
*/
public TinyLog(final String name) {
this.name = name;
this.level = Logger.getLevel(name).ordinal();
this.level = provider.getMinimumLevel().ordinal();
}
@Override
@ -101,12 +109,12 @@ public class TinyLog extends AbstractLog {
// ------------------------------------------------------------------------- Warn
@Override
public boolean isWarnEnabled() {
return this.level <= org.pmw.tinylog.Level.WARNING.ordinal();
return this.level <= Level.WARN.ordinal();
}
@Override
public void warn(final String fqcn, final Throwable t, final String format, final Object... arguments) {
logIfEnabled(fqcn, Level.WARNING, t, format, arguments);
logIfEnabled(fqcn, Level.WARN, t, format, arguments);
}
// ------------------------------------------------------------------------- Error
@ -145,7 +153,7 @@ public class TinyLog extends AbstractLog {
if (null == t) {
t = getLastArgumentIfThrowable(arguments);
}
LogEntryForwarder.forward(DEPTH, level, t, StrUtil.toString(format), arguments);
provider.log(DEPTH, null, level, t, formatter, StrUtil.toString(format), arguments);
}
/**
@ -168,7 +176,7 @@ public class TinyLog extends AbstractLog {
tinyLevel = Level.INFO;
break;
case WARN:
tinyLevel = Level.WARNING;
tinyLevel = Level.WARN;
break;
case ERROR:
tinyLevel = Level.ERROR;

View File

@ -32,7 +32,7 @@ public class TinyLogEngine extends AbsLogEngine {
*/
public TinyLogEngine() {
super("TinyLog");
checkLogExist(org.pmw.tinylog.Logger.class);
checkLogExist(org.tinylog.Logger.class);
}
@Override

View File

@ -0,0 +1,37 @@
/*
* Copyright (c) 2025 Hutool Team and hutool.cn
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
*
* @author choweli
*/
module hutool.log {
exports cn.hutool.v7.log;
exports cn.hutool.v7.log.level;
exports cn.hutool.v7.log.engine.console;
exports cn.hutool.v7.log.engine.log4j2;
requires hutool.core;
requires org.jboss.logging;
requires org.apache.commons.logging;
requires org.apache.logging.log4j;
requires org.slf4j;
requires tinylog;
requires org.tinylog.api;
requires java.logging;
requires log4j;
}

View File

@ -37,6 +37,7 @@
<!-- versions -->
<poi.version>5.4.1</poi.version>
<log4j2.version>2.20.0</log4j2.version>
<hierynomus.version>0.39.0</hierynomus.version>
</properties>
<dependencies>
@ -69,6 +70,14 @@
<artifactId>bcprov-jdk15on</artifactId>
<groupId>org.bouncycastle</groupId>
</exclusion>
<exclusion>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>xmlgraphics-commons</artifactId>
</exclusion>
<exclusion>
<groupId>org.apache.xmlgraphics</groupId>
<artifactId>batik-transcoder</artifactId>
</exclusion>
</exclusions>
<optional>true</optional>
</dependency>
@ -79,5 +88,11 @@
<version>${log4j2.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>com.hierynomus</groupId>
<artifactId>sshj</artifactId>
<version>${hierynomus.version}</version>
<scope>test</scope>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,36 @@
/*
* Copyright (c) 2025 Hutool Team and hutool.cn
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
*
* @author choweli
*/
module hutool.poi {
exports cn.hutool.v7.poi.excel.reader;
requires org.apache.poi.ooxml;
requires hutool.core;
requires java.desktop;
requires ofdrw.layout;
requires ofdrw.font;
requires ofdrw.reader;
requires ofdrw.converter;
requires java.sql;
opens cn.hutool.v7.poi.excel.writer;
opens cn.hutool.v7.poi.csv;
}

View File

@ -35,6 +35,14 @@
<properties>
<Automatic-Module-Name>cn.hutool.v7.setting</Automatic-Module-Name>
<snakeyaml.version>2.3</snakeyaml.version>
<!-- 固定3.4.x支持到jdk8 -->
<jboss-logging.version>3.4.3.Final</jboss-logging.version>
<slf4j.version>2.0.9</slf4j.version>
<log4j.version>1.2.17</log4j.version>
<log4j2.version>2.20.0</log4j2.version>
<tinylog.version>1.3.6</tinylog.version>
<tinylog2.version>2.7.0</tinylog2.version>
<commons-logging.version>1.3.4</commons-logging.version>
</properties>
<dependencies>
@ -55,5 +63,47 @@
<version>${snakeyaml.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
<version>${jboss-logging.version}</version>
</dependency>
<!-- 仅用于测试 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4j2.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.tinylog</groupId>
<artifactId>tinylog</artifactId>
<version>${tinylog.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.tinylog</groupId>
<artifactId>tinylog-api</artifactId>
<version>${tinylog2.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>${commons-logging.version}</version>
<optional>true</optional>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,31 @@
/*
* Copyright (c) 2025 Hutool Team and hutool.cn
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
*
* @author choweli
*/
module hutool.setting {
exports cn.hutool.v7.setting;
exports cn.hutool.v7.setting.props;
requires hutool.log;
requires hutool.core;
requires org.yaml.snakeyaml;
opens cn.hutool.v7.setting.toml;
}

View File

@ -34,6 +34,14 @@
<properties>
<Automatic-Module-Name>cn.hutool.v7.socket</Automatic-Module-Name>
<!-- 固定3.4.x支持到jdk8 -->
<jboss-logging.version>3.4.3.Final</jboss-logging.version>
<slf4j.version>2.0.9</slf4j.version>
<log4j.version>1.2.17</log4j.version>
<log4j2.version>2.20.0</log4j2.version>
<tinylog.version>1.3.6</tinylog.version>
<tinylog2.version>2.7.0</tinylog2.version>
<commons-logging.version>1.3.4</commons-logging.version>
</properties>
<dependencies>
@ -47,5 +55,47 @@
<artifactId>hutool-log</artifactId>
<version>${project.parent.version}</version>
</dependency>
<dependency>
<groupId>org.jboss.logging</groupId>
<artifactId>jboss-logging</artifactId>
<version>${jboss-logging.version}</version>
</dependency>
<!-- 仅用于测试 -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-simple</artifactId>
<version>${slf4j.version}</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>${log4j.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.apache.logging.log4j</groupId>
<artifactId>log4j-api</artifactId>
<version>${log4j2.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.tinylog</groupId>
<artifactId>tinylog</artifactId>
<version>${tinylog.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.tinylog</groupId>
<artifactId>tinylog-api</artifactId>
<version>${tinylog2.version}</version>
<optional>true</optional>
</dependency>
<dependency>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
<version>${commons-logging.version}</version>
<optional>true</optional>
</dependency>
</dependencies>
</project>

View File

@ -0,0 +1,24 @@
/*
* Copyright (c) 2025 Hutool Team and hutool.cn
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
*
* @author choweli
*/
module hutool.socket {
requires hutool.log;
requires hutool.core;
}

View File

@ -0,0 +1,28 @@
/*
* Copyright (c) 2025 Hutool Team and hutool.cn
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
*
* @author choweli
*/
module hutool.swing {
requires hutool.core;
requires java.desktop;
requires animated.gif.lib;
requires metadata.extractor;
requires com.google.zxing;
}