未找到 jakarta.mail.util.StreamProvider 的提供程序(不是 Spring Boot!)

问题描述 投票:0回答:1

我正在尝试迁移 JavaX.mail 类以使用 Jakarta 邮件,因为需要从 Tomcat 9 迁移到 10。我收到一条消息

java.lang.IllegalStateException: Not provider of jakarta.mail.util.StreamProvider
在尝试通过 gmail 发送电子邮件时被发现。

我已将 angus 邮件包含在 .classpath 文件中,以及 jakarta 邮件和激活

<classpathentry kind="lib" path="/home/astump/src/codex/Java/asWeb/web/WEB-INF/lib/angus-mail-2.0.3.jar"/>
<classpathentry kind="lib" path="/home/astump/src/codex/Java/asWeb/web/WEB-INF/lib/jakarta.activation-api-2.1.3.jar"/>
<classpathentry kind="lib" path="/home/astump/src/codex/Java/asWeb/web/WEB-INF/lib/jakarta.jakartaee-api-10.0.0.jar"/>

但是,这并不能解决问题。

我在课堂上通过以下方式引用雅加达:

import jakarta.mail.Message;
import jakarta.mail.MessagingException;
import jakarta.mail.PasswordAuthentication;
import jakarta.mail.Session;
import jakarta.mail.Transport;
import jakarta.mail.internet.InternetAddress;
import jakarta.mail.internet.MimeMessage;
import jakarta.activation.DataHandler;
import jakarta.activation.DataSource;
import jakarta.activation.FileDataSource;
import jakarta.mail.BodyPart;
import jakarta.mail.Folder;
import jakarta.mail.Multipart;
import jakarta.mail.NoSuchProviderException;
import jakarta.mail.Store;
import jakarta.mail.internet.MimeBodyPart;
import jakarta.mail.internet.MimeMultipart;

尝试将这些导入更改为 com.eclipse.angus.mail.Store 等...没有成功。

java email tomcat jakarta-ee
1个回答
0
投票

雅加达邮筒

└── WEB-INF
...
    └── lib
        ├── jakarta.activation-2.0.1.jar
        ├── jakarta.mail-2.0.1.jar
        └── jakarta.mail-api-2.0.1.jar

将 3 个 jar 文件下载到您的

WEB-INF/lib
文件夹中。

如何查找jar文件

谷歌

maven jakarta.mail:jakarta.mail-api:jar:2.0.1

查找谷歌结果:

Maven Repository
jakarta.mail-api » 2.0.1

打开链接:

https://mvnrepository.com/artifact/jakarta.mail/jakarta.mail-api/2.0.1

找到

  • 文件 pom (5 KB) jar (673 KB) 查看全部

点击

jar
,下载jar文件。 (https://repo1.maven.org/maven2/jakarta/mail/jakarta.mail-api/2.0.1/jakarta.mail-api-2.0.1.jar

© www.soinside.com 2019 - 2024. All rights reserved.