大佬教程收集整理的这篇文章主要介绍了异常 - java.lang.NoClassDefFoundError: javax/mail/Authenticator - 只有在编译我的 java 项目之后,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我的程序是使用 maven 在 java 11.0.11 上运行的 java 程序。我使用 JAF 和 JavaMail API 以便在按下按钮后在我的代码中发送电子邮件。当我使用 VScode 运行代码时,它工作正常,但是当我编译以使用 read_tei <- function(folder) {
List.files(folder,pattern = '\\.xml$',full.names = TRUE) %>%
map_dfr(~.x %>% parseTEI(.,node = "INSERT_NODE_to_find") %>%tibble())
}
text <- read_tei("/Path/to/file").
对其进行 jar 处理,然后使用 @H_520_3@mvn package 运行它并按下应该发送电子邮件的按钮时,它会引发以下异常:
java - jar recipt_generator-1.jar
我尝试更改 maven 编译器版本,为 Exception in thread "AWT-EventQueue-0" java.lang.NoClassDefFoundError: javax/mail/Authenticator
at com.recipt.EndMenu$3.actionPerformed(EndMenu.java:70)
at java.desktop/java.awt.button.processActionEvent(button.java:411)
at java.desktop/java.awt.button.processEvent(button.java:379)
at java.desktop/java.awt.Component.dispatchEventImpl(Component.java:5011)
at java.desktop/java.awt.Component.dispatchEvent(Component.java:4843)
at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:772)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:721)
at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:715)
at java.base/java.security.AccessController.doprivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:95)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:745)
at java.desktop/java.awt.EventQueue$5.run(EventQueue.java:743)
at java.base/java.security.AccessController.doprivileged(Native Method)
at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:85)
at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:742)
at java.desktop/java.awt.EventdispatchThread.pumpOneEventForFilters(EventdispatchThread.java:203)
at java.desktop/java.awt.EventdispatchThread.pumpEventsForFilter(EventdispatchThread.java:124)
at java.desktop/java.awt.EventdispatchThread.pumpEventsForHIErarchy(EventdispatchThread.java:113)
at java.desktop/java.awt.EventdispatchThread.pumpEvents(EventdispatchThread.java:109)
at java.desktop/java.awt.EventdispatchThread.pumpEvents(EventdispatchThread.java:101)
at java.desktop/java.awt.EventdispatchThread.run(EventdispatchThread.java:90)
Caused by: java.lang.classnotFoundException: javax.mail.Authenticator
at java.base/jdk.internal.loader.builTinClassLoader.loadClass(BuilTinClassLoader.java:581)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)
at java.base/java.lang.classLoader.loadClass(ClassLoader.java:521)
... 22 more
和 javax.mail.jar
添加依赖项,并检查我使用的每个 jar 都在类路径环境变量中。
我请求您的帮助,因为我真的很困惑 - 该程序使用 VScode 运行选项完美地发送了电子邮件,但是在编译时错误不断显示。
我会提供任何帮助。
JavaMail 不是 Java API 的一部分。它使用 Maven 进行编译,因为您可能将它作为 POM 中的依赖项,因此它位于 Maven 的构建类路径中(并且很可能也在 VSCode 的运行类路径中 - 我不熟悉)。
仅使用 java - jar recipt_generator-1.jar
在命令行上运行它是不够的。如果 JavaMail 的 JAR 文件如下(摘自 java --Help
),则必须添加一个:
-cp <class search path of directories and zip/jar files>
-classpath <class search path of directories and zip/jar files>
--class-path <class search path of directories and zip/jar files>
A ; separated list of directories,JAR archives,and ZIP archives to search for class files.
要创建包含 JAR 依赖项的 Fat JAR,请参阅:
以上是大佬教程为你收集整理的异常 - java.lang.NoClassDefFoundError: javax/mail/Authenticator - 只有在编译我的 java 项目之后全部内容,希望文章能够帮你解决异常 - java.lang.NoClassDefFoundError: javax/mail/Authenticator - 只有在编译我的 java 项目之后所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。