"java.lang.NoClassDefFoundError: javax/mail/MessagingException" (Using spigot / Bukkit) (Eclipse)
"java.lang.NoClassDefFoundError: javax/mail/MessagingException" (Using spigot / Bukkit) (Eclipse)
我正在尝试使用 eclipse 在 spigot 1.8.3 中使用 JavaMail 发送简单的电子邮件。
我已经尝试在线搜索两天了,我已经尝试了出现的每一个 Google 结果。
我做了一个 class 来发送电子邮件,但是当调用发送方法时,我得到以下堆栈跟踪:
[16:07:44] [Server thread/ERROR]: Error occurred while enabling
ServerManager v1.0 (Is it up to date?)
java.lang.NoClassDefFoundError: javax/mail/MessagingException
at net.mcviral.dev.plugins.servermanager.util.Email.send(Email.java:61) ~[?:?]
at net.mcviral.dev.plugins.servermanager.main.ServerManager.onEnable(ServerManager.java:43) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:335) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at org.bukkit.craftbukkit.v1_8_R1.CraftServer.loadPlugin(CraftServer.java:356) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at org.bukkit.craftbukkit.v1_8_R1.CraftServer.enablePlugins(CraftServer.java:316) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.MinecraftServer.q(MinecraftServer.java:402) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.MinecraftServer.k(MinecraftServer.java:370) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.MinecraftServer.a(MinecraftServer.java:325) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.DedicatedServer.init(DedicatedServer.java:211) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:505) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_25]
Caused by: java.lang.ClassNotFoundException: javax.mail.MessagingException
at java.net.URLClassLoader.run(Unknown Source) ~[?:1.8.0_25]
at java.net.URLClassLoader.run(Unknown Source) ~[?:1.8.0_25]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_25]
at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_25]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) ~[spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_25]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_25]
... 13 more
我从 JavaMail 中引用了 mail.jar 和 activation.jar 作为外部 jar。
我用来发送电子邮件的 class 叫做 "Email.java"
我的插件主要 class 是 "ServerManager.java"
我的主要class'onEnable()method
我的邮箱class
我尝试了多种方法,我尝试制作一个 "lib" 文件夹并将 mail.jar 和 activation.jar 放入其中,然后将它们添加到构建路径,我已经尝试编辑我的 manifest.mf 文件以包含它们,但在我能找到的任何网站上似乎都没有用,他们都回复说它已为他们修复,但它们对我不起作用,多个有人说过要编辑您的 class 路径,我也尝试过这样做,但我不确定我是否了解如何做那么多。
澄清一下,我在 eclipse 中没有错误,只有当我 运行 spigot 服务器时,我才收到 class not found 错误。
提前感谢您的帮助。
编辑:
我的清单文件:
Manifest-Version: 1.0
Class-Path: E:\Main Doccuments\Programming\Java/mail.jar;E:\Main Doccuments\Programming\Java/activation.jar
未解决但最佳答案
1) 你用过以下2个罐子吗?
- mail.jar
- activation.jar
2) 如果问题仍然存在,请尝试切换到最新的 jar。
3) 确保 jar 在 class-path 中可用并且没有版本冲突。
4) 如果使用较低版本,请尝试将 java 版本升级到 1.6+。
5)
将罐子添加到您的 WEB-INF/lib 文件夹
将罐子添加到 Java Build Path > Libraries
6) 最后但同样重要的是,如果上述解决方案不起作用,请尝试将 jar 文件放入您的服务器 lib 文件夹并进行验证。
我正在尝试使用 eclipse 在 spigot 1.8.3 中使用 JavaMail 发送简单的电子邮件。
我已经尝试在线搜索两天了,我已经尝试了出现的每一个 Google 结果。
我做了一个 class 来发送电子邮件,但是当调用发送方法时,我得到以下堆栈跟踪:
[16:07:44] [Server thread/ERROR]: Error occurred while enabling
ServerManager v1.0 (Is it up to date?)
java.lang.NoClassDefFoundError: javax/mail/MessagingException
at net.mcviral.dev.plugins.servermanager.util.Email.send(Email.java:61) ~[?:?]
at net.mcviral.dev.plugins.servermanager.main.ServerManager.onEnable(ServerManager.java:43) ~[?:?]
at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:321) ~[spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:335) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:405) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at org.bukkit.craftbukkit.v1_8_R1.CraftServer.loadPlugin(CraftServer.java:356) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at org.bukkit.craftbukkit.v1_8_R1.CraftServer.enablePlugins(CraftServer.java:316) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.MinecraftServer.q(MinecraftServer.java:402) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.MinecraftServer.k(MinecraftServer.java:370) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.MinecraftServer.a(MinecraftServer.java:325) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.DedicatedServer.init(DedicatedServer.java:211) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at net.minecraft.server.v1_8_R1.MinecraftServer.run(MinecraftServer.java:505) [spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at java.lang.Thread.run(Unknown Source) [?:1.8.0_25]
Caused by: java.lang.ClassNotFoundException: javax.mail.MessagingException
at java.net.URLClassLoader.run(Unknown Source) ~[?:1.8.0_25]
at java.net.URLClassLoader.run(Unknown Source) ~[?:1.8.0_25]
at java.security.AccessController.doPrivileged(Native Method) ~[?:1.8.0_25]
at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_25]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:101) ~[spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:86) ~[spigot_server.jar:git-Spigot-c3c767f-33d5de3]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_25]
at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_25]
... 13 more
我从 JavaMail 中引用了 mail.jar 和 activation.jar 作为外部 jar。
我用来发送电子邮件的 class 叫做 "Email.java"
我的插件主要 class 是 "ServerManager.java"
我的主要class'onEnable()method
我的邮箱class
我尝试了多种方法,我尝试制作一个 "lib" 文件夹并将 mail.jar 和 activation.jar 放入其中,然后将它们添加到构建路径,我已经尝试编辑我的 manifest.mf 文件以包含它们,但在我能找到的任何网站上似乎都没有用,他们都回复说它已为他们修复,但它们对我不起作用,多个有人说过要编辑您的 class 路径,我也尝试过这样做,但我不确定我是否了解如何做那么多。
澄清一下,我在 eclipse 中没有错误,只有当我 运行 spigot 服务器时,我才收到 class not found 错误。
提前感谢您的帮助。
编辑:
我的清单文件:
Manifest-Version: 1.0
Class-Path: E:\Main Doccuments\Programming\Java/mail.jar;E:\Main Doccuments\Programming\Java/activation.jar
未解决但最佳答案
1) 你用过以下2个罐子吗?
- mail.jar
- activation.jar
2) 如果问题仍然存在,请尝试切换到最新的 jar。
3) 确保 jar 在 class-path 中可用并且没有版本冲突。
4) 如果使用较低版本,请尝试将 java 版本升级到 1.6+。
5) 将罐子添加到您的 WEB-INF/lib 文件夹 将罐子添加到 Java Build Path > Libraries
6) 最后但同样重要的是,如果上述解决方案不起作用,请尝试将 jar 文件放入您的服务器 lib 文件夹并进行验证。