Java Mail报错:javax 迁移到 jakarta

javax(Java Extension) 作为包名,包含了一系列的 Java 扩展包,提供了各种不同的功能,例如 servlet、JDBC、JMS 等。
2017年,Oracle 将 Java EE 技术移交给 Eclipse Foundation,这个项目随后被重命名为 Jakarta EE。在这个过渡过程中,Eclipse Foundation 决定将所有 Java EE API 从 javax 命名空间迁移到 jakarta 命名空间,以便更加灵活地进行未来的开发和更新。
JDK 11 开始就已经逐渐从 javax.* 迁移到 jakarta.* 了。

报错:java.lang.IllegalStateException: No provider of jakarta.mail.util.StreamProvider was found

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

报错:java.lang.NoClassDefFoundError: jakarta/activation/DataHandler
还需要引入 jakarta.activation 该包提供了用于处理 MIME 数据类型的支持,比如 DataHandler 类。

<dependency>
    <groupId>jakarta.activation</groupId>
    <artifactId>jakarta.activation-api</artifactId>
    <version>2.0.1</version>
</dependency>
posted @ 2024-06-15 14:54  Rix里克斯  阅读(630)  评论(0)    收藏  举报