netbeans 异常错误:发送邮件时使用javax/activation/DataSource

vlurs2pr  于 2022-11-10  发布在  Java
关注(0)|答案(1)|浏览(229)

当我尝试在NetBeans上使用SMTP发送邮件时,收到以下错误消息:
运行:线程“main”java.lang中出现异常。NoClassDefFoundError:在SendMail.main(SendMail.java:59)上创建消息(SendMail.java:45)导致的原因:java.lang.ClassNotFoundException:在java. base/java.lang. class loader. java:522. java:522. java:522. java:522. java:522. java:522. java:522. java:522. java:522. java:522. java:522. java:522. java:522. java:522. java:522. java:522. java:522. java:522. java:522. java:522. java:522. java:522. java:522. java:522. java:522. java:522. java:522. java:522. java:522. java:522. java:522.执行此行时发生以下错误:C:\用户\管理员\应用程序数据\本地\NetBeans\缓存\12.0\执行程序片段\运行.xml:68:Java返回:1个构建失败(总时间:0秒)
我需要如何修复它?
(我使用的是Apache NetBeans IDE 12.0; Java:15; Java HotSpot(TM)64位服务器虚拟机15+36-156)

v2g6jxz6

v2g6jxz61#

对于javax.activation.DataSource之类的类,您需要JavaBeans激活框架的JAR文件。
您可以从Maven Central here下载JAR-单击那里的jar链接。
如果您正在使用依赖性管理工具,如Maven、Gradle等,则使用相关配置(也可在同一页面中找到)。强烈建议使用依赖性管理工具,而不是一个接一个地下载JAR文件。
您还应该考虑用jakarta导入替换您的javax导入,因为它现在是where these packages are maintained
如果这样做,则需要使用Jakarta Activation API(可用here)。例如:

<dependency>
    <groupId>jakarta.activation</groupId>
    <artifactId>jakarta.activation-api</artifactId>
    <version>2.0.1</version>
</dependency>

如果您这样做,您还应该替换JavaMail类-例如,您可以替换以下类:

import javax.mail.Message;

与此:

import jakarta.mail.Message;

并使用Jakarta Mail资源,例如:

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

相关问题