" java.lang.NoClassDefFoundError:javax / mail / MessagingException" (使用spigot / Bukkit)(Eclipse)

时间:2015-03-23 16:42:10

标签: java bukkit

我尝试使用eclipse在spigot 1.8.3中使用JavaMail发送一封简单的电子邮件。

我已经尝试了两天在线搜索,我已经尝试了每一个已经出现的Google结果。

我创建了一个发送电子邮件的类,但是当调用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放在那里,然后将它们添加到构建路径,我已经尝试编辑我的manifest.mf文件以包含它们,但我找不到的任何网站上的任何内容似乎都不起作用,所有人都回复说它为他们修好了但他们只是不为我工作,多个人都说过编辑你的课程路径,我也试过这样做但是我不确定我是怎么理解的做那么多。

只是为了澄清,我在eclipse中没有错误,只有当我运行插件服务器时才会发现我找不到类错误。

感谢您提前提供任何帮助。

编辑:

我的清单文件:

Manifest-Version: 1.0
Class-Path: E:\Main Doccuments\Programming\Java/mail.jar;E:\Main Doccuments\Programming\Java/activation.jar

未解决但最佳答案

1 个答案:

答案 0 :(得分:-2)

1)您是否使用了以下2个罐子?

  • 的mail.jar
  • 的activation.jar

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

3)确保jar在class-path中可用,并且没有版本冲突。

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

5) 将jar添加到WEB-INF / lib文件夹中 将jar添加到Java Build Path>库

6)最后但并非最不重要的是,如果上面的解决方案dosnt工作尝试将jar文件放在服务器lib文件夹中并进行验证。