You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

求jcifs-ng兼容依赖JAR完整列表或全局禁用日志方法

解决jcifs-ng日志依赖冲突及跨平台文件推送问题

一、兼容的类路径JAR列表(适配SMB2/3+无日志冲突)

直接用以下稳定版本的JAR即可解决slf4j与Apache日志库的版本、类兼容性问题:

  • jcifs-ng-2.1.30.jar:核心库,原生支持SMB2/3,完美适配不支持SMB1的Windows服务器
  • slf4j-api-1.7.36.jar:统一日志API,作为日志桥接层
  • slf4j-simple-1.7.36.jar:轻量日志实现,替代Apache日志组件,彻底消除依赖冲突

如果用Maven/Gradle构建,建议显式排除jcifs-ng自带的冲突依赖,比如Maven配置:

<dependency>
    <groupId>eu.agno3.jcifs</groupId>
    <artifactId>jcifs-ng</artifactId>
    <version>2.1.30</version>
    <exclusions>
        <exclusion>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
        </exclusion>
    </exclusions>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-api</artifactId>
    <version>1.7.36</version>
</dependency>
<dependency>
    <groupId>org.slf4j</groupId>
    <artifactId>slf4j-simple</artifactId>
    <version>1.7.36</version>
</dependency>

二、彻底禁用日志的方法

如果不想处理日志依赖,直接通过环境变量全局禁用:
在Unix系统启动Java程序前,设置:

export JAVA_OPTS="-Dorg.slf4j.simpleLogger.defaultLogLevel=off"

或者启动时直接追加参数:

java -Dorg.slf4j.simpleLogger.defaultLogLevel=off -cp "你的类路径" 主类名

这个参数会让slf4j-simple日志实现完全关闭所有日志输出,彻底解决日志相关的干扰。

额外提示(适配SMB2/3)

因为你的Windows服务器不支持SMB1,在代码里初始化jcifs-ng时记得强制指定SMB版本范围,避免连接失败:

SmbConfig config = SmbConfig.builder()
        .withMinVersion(SmbVersion.SMB202)
        .withMaxVersion(SmbVersion.SMB311)
        .build();
try (SmbFileContext ctx = SmbFileContextBuilder.builder().withConfig(config).build()) {
    // 你的文件推送逻辑
}

内容的提问来源于stack exchange,提问作者access_granted

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 15:11:13