【发布时间】:2015-03-26 06:32:37
【问题描述】:
我正在尝试使用 eclipse 在 spigot 1.8.3 中使用 JavaMail 实现发送简单电子邮件。
我已经尝试在线搜索两天了,我已经尝试了所有出现的谷歌结果。
我创建了一个类来发送电子邮件,但是当调用 send 方法时,我得到以下堆栈跟踪:
[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$1.run(Unknown Source) ~[?:1.8.0_25]
at java.net.URLClassLoader$1.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 引用。
我用来发送电子邮件的类称为“Email.java”
我的插件的主类是“ServerManager.java”
我的主班'onEnable() method
我的邮箱class
我尝试了多种方法,我尝试创建一个“lib”文件夹并将 mail.jar 和 activation.jar 放入其中,然后将它们添加到构建路径中,我尝试编辑我的清单.mf 文件来包含它们,但我能找到的任何网站上似乎都没有任何工作,他们都有回复说它为他们修复了它,但他们只是对我不起作用,多个人说关于编辑你的类路径,我我也尝试过这样做,但我不确定我是否理解如何做到这一点。
澄清一下,我在 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
未解决但最佳答案
【问题讨论】:
-
您能否详细解释一下您是如何验证清单部分的。你能解压你的 jar 并检查其中包含缺少类的类路径的清单吗?
-
我已经声明它已添加到我的构建路径中。
-
这不是清单文件。请在此处更新问题,而不是作为评论。
-
你如何构建你的项目?是 Maven 吗?