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

Spring Boot3.3.0+Java17下jakarta.mail.StreamProvider缺失问题求助

解决Spring Boot 3.3.0 + Java 17下jakarta.mail的StreamProvider缺失问题

问题场景

在Spring Boot 3.3.0、Java 17环境中,使用jakarta.mail创建MimeMessage时触发异常。

错误信息

Caused by: java.lang.IllegalStateException: No provider of jakarta.mail.util.StreamProvider was found
at jakarta.mail.util.FactoryFinder.find(FactoryFinder.java:61)
at jakarta.mail.util.StreamProvider.provider(StreamProvider.java:199)
at jakarta.mail.Session.<init>(Session.java:257)
at jakarta.mail.Session.getDefaultInstance(Session.java:383)
at jakarta.mail.Session.getDefaultInstance(Session.java:423)

相关代码

import jakarta.mail.internet.MimeMessage;

MimeMessage mimeMessage = new MimeMessage(Session.getDefaultInstance(new Properties()));

当前依赖配置

<dependency>
    <groupId>jakarta.mail</groupId>
    <artifactId>jakarta.mail-api</artifactId>
    <version>2.1.3</version>
</dependency>
<dependency>
    <groupId>com.sun.mail</groupId>
    <artifactId>jakarta.mail</artifactId>
    <version>2.0.1</version>
</dependency>

解决方案

异常核心原因是jakarta.mail-api与实现类版本不匹配:jakarta.mail-api 2.1.x新增了StreamProvider接口,但你使用的com.sun.mail:jakarta.mail 2.0.1版本并未实现该接口,导致找不到提供者。

方法1:统一依赖版本

将com.sun.mail:jakarta.mail的版本升级至与jakarta.mail-api一致的2.1.3:

<dependency>
    <groupId>jakarta.mail</groupId>
    <artifactId>jakarta.mail-api</artifactId>
    <version>2.1.3</version>
</dependency>
<dependency>
    <groupId>com.sun.mail</groupId>
    <artifactId>jakarta.mail</artifactId>
    <version>2.1.3</version>
    <scope>runtime</scope> <!-- 实现类仅需运行时依赖,可选配置 -->
</dependency>

方法2:仅引入实现类依赖

com.sun.mail:jakarta.mail已经包含了jakarta.mail-api的依赖,直接只引入实现类即可避免版本冲突:

<dependency>
    <groupId>com.sun.mail</groupId>
    <artifactId>jakarta.mail</artifactId>
    <version>2.1.3</version>
</dependency>

方法3:利用Spring Boot版本管理(推荐)

Spring Boot 3.3.0的依赖管理中已内置兼容的jakarta.mail版本,直接引入依赖不指定版本即可自动匹配:

<dependency>
    <groupId>com.sun.mail</groupId>
    <artifactId>jakarta.mail</artifactId>
</dependency>

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 19:52:42