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

使用jaxb2-maven-plugin构建契约优先SOAP WS的Maven错误

解决方向

错误根源

NoClassDefFoundError: javax/activation/MimeTypeParseException 本质是jaxb2-maven-plugin运行时找不到依赖类——Java 8中该类原本属于JDK内置,但新版插件的依赖链可能缺失了这个模块,或者插件版本与Java 8不兼容。

具体解决步骤

  • 给jaxb2-maven-plugin添加activation依赖
    在pom.xml的插件配置中加入该依赖(注意是插件内部的依赖,不是项目依赖):

    <plugin>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>jaxb2-maven-plugin</artifactId>
        <version>2.5.0</version> <!-- 保持与教程一致的2.x版本 -->
        <executions>
            <!-- 你的生成代码执行配置 -->
        </executions>
        <dependencies>
            <dependency>
                <groupId>javax.activation</groupId>
                <artifactId>activation</artifactId>
                <version>1.1.1</version>
            </dependency>
        </dependencies>
    </plugin>
    
  • 锁定插件为Java 8兼容版本
    避免使用3.x及以上版本的jaxb2-maven-plugin,这类版本基于Jakarta EE(包名从javax改为jakarta),和Java 8完全不兼容,坚持用2.x系列稳定版(比如2.5.0)。

  • 修复Eclipse构建错误
    先通过mvn clean install确认命令行构建成功,再处理Eclipse的问题:

    1. 右键项目 → Maven → Update Project...
    2. 勾选「Force Update of Snapshots/Releases」后点击OK
    3. 若仍有问题,执行Project → Clean...清理项目缓存
  • 确认JDK环境一致性
    确保Eclipse和Maven都使用Java 8:

    • Eclipse:Window → Preferences → Java → Installed JREs,选中Java 8作为默认JRE
    • Maven:在pom.xml中明确编译版本:
      <properties>
          <maven.compiler.source>1.8</maven.compiler.source>
          <maven.compiler.target>1.8</maven.compiler.target>
      </properties>
      

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.17 16:40:54