【问题标题】:"java.lang.NoClassDefFoundError: javax/mail/MessagingException" (Using spigot / Bukkit) (Eclipse) [closed]“java.lang.NoClassDefFoundError: javax/mail/MessagingException”(使用 spigot / Bukkit)(Eclipse)[关闭]
【发布时间】: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 吗?

标签: java bukkit


【解决方案1】:

1) 你用过以下 2 个罐子吗?

  • mail.jar
  • activation.jar

2) 如果问题仍然存在,请尝试切换到最新的 jar。

3) 确保 jar 在类路径中可用并且没有版本冲突。

4) 如果使用较低版本,请尝试将您的 java 版本升级到 1.6+。

5) 将罐子添加到您的 WEB-INF/lib 文件夹 将 jars 添加到 Java Build Path > Libraries

6) 最后但并非最不重要的一点是,如果上述解决方案不起作用,请尝试将 jar 文件放入您的服务器 lib 文件夹并验证。

【讨论】:

  • 我使用的是 java 1.8,正如我所说,这两个 jar 都在我的项目和项目构建路径中。
  • 我怀疑清单文件“/”的问题与 url 的其余部分不同“E:\Main Doccuments\Programming\Java/mail.jar;E:\Main Doccuments\Programming\Java/ activation.jar" 也应该类路径类似于 Class-Path: abc.jar def.jar
  • 改成反斜杠,没用。
  • 我感觉您没有将 jar 添加到您的项目库中,或者没有将其正确包含到类路径中。你能把你的eclipse java build-path > library的屏幕截图放上来吗?
  • 构建路径:prntscr.com/6keodj
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-07-14
  • 1970-01-01
  • 2023-01-13
  • 1970-01-01
  • 2011-09-22
相关资源
最近更新 更多