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

如何解决javax.activation包同时被jakarta.activation与java.activation读取的报错

问题触发的核心原因

该报错属于Java 9+ JPMS(Java平台模块系统)的包拆分冲突:javax.activation 包同时被 jakarta.activation 和旧版 java.activation 两个依赖模块提供,org.apache.commons.compress 读取该包时无法确定优先来源,触发冲突。
报错原文:

java: module org.apache.commons.compress reads package javax.activation from both jakarta.activation and java.activation

可落地的修复方案

  • 方案1:全局排除旧版 java.activation 依赖(优先推荐)
    Maven配置(添加到commons-compress依赖的声明中):
    <dependency>
        <groupId>org.apache.commons</groupId>
        <artifactId>commons-compress</artifactId>
        <version>你当前使用的commons-compress版本号</version>
        <exclusions>
            <!-- 排除旧的javax.activation实现 -->
            <exclusion>
                <groupId>javax.activation</groupId>
                <artifactId>activation</artifactId>
            </exclusion>
            <exclusion>
                <groupId>com.sun.activation</groupId>
                <artifactId>javax.activation</artifactId>
            </exclusion>
        </exclusions>
    </dependency>
    
    Gradle配置:
    implementation("org.apache.commons:commons-compress:你当前使用的commons-compress版本号") {
        exclude group: 'javax.activation', module: 'activation'
        exclude group: 'com.sun.activation', module: 'javax.activation'
    }
    
  • 方案2:统一activation依赖版本
    如果项目中其他组件必须依赖旧版activation,主动全局声明统一的activation依赖:
    若适配Jakarta EE规范,引入最新的jakarta.activation-api包,覆盖所有传递引入的旧版activation依赖即可。
  • 方案3:模块声明中指定优先来源
    项目使用JPMS模块系统(存在module-info.java文件)的场景,直接在模块声明中指定优先读取的模块:
    module your.module.name {
        requires org.apache.commons.compress;
        // 明确指定commons-compress优先读取jakarta.activation提供的javax.activation包
        requires jakarta.activation;
    }
    
  • 方案4:临时调试用JVM参数
    仅做本地调试验证时,添加JVM启动参数强制允许包拆分:
    --add-exports jakarta.activation/javax.activation=org.apache.commons.compress

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 22:15:03