2014-01-06 73 views
0

我試着把一個插件和IM歌廳錫爾錯誤:的ClassNotFoundException在Bukkit Java插件

[03:01:18 ERROR]: Could not load 'plugins\Reporter.jar' in folder 'plugins' 
org.bukkit.plugin.InvalidPluginException: java.lang.ClassNotFoundException: me.f 
levasgr.rainbow.Reporter 
     at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j 
ava:184) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 
     at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager. 
java:308) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 
     at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager 
.java:231) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 
     at org.bukkit.craftbukkit.v1_7_R1.CraftServer.loadPlugins(CraftServer.ja 
va:255) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 
     at org.bukkit.craftbukkit.v1_7_R1.CraftServer.<init>(CraftServer.java:23 
3) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 
     at net.minecraft.server.v1_7_R1.PlayerList.<init>(PlayerList.java:63) [c 
raftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 
     at net.minecraft.server.v1_7_R1.DedicatedPlayerList.<init>(SourceFile:14 
) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 
     at net.minecraft.server.v1_7_R1.DedicatedServer.init(DedicatedServer.jav 
a:126) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 
     at net.minecraft.server.v1_7_R1.MinecraftServer.run(MinecraftServer.java 
:424) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 
     at net.minecraft.server.v1_7_R1.ThreadServerApplication.run(SourceFile:6 
17) [craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 
Caused by: java.lang.ClassNotFoundException: me.flevasgr.rainbow.Reporter 
     at java.net.URLClassLoader$1.run(Unknown Source) ~[?:1.7.0_25] 
     at java.net.URLClassLoader$1.run(Unknown Source) ~[?:1.7.0_25] 
     at java.security.AccessController.doPrivileged(Native Method) ~[?:1.7.0_ 
25] 
     at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.7.0_25] 
     at org.bukkit.plugin.java.PluginClassLoader.findClass0(PluginClassLoader 
.java:80) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 
     at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader. 
java:53) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 
     at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.7.0_25] 
     at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.7.0_25] 
     at java.lang.Class.forName0(Native Method) ~[?:1.7.0_25] 
     at java.lang.Class.forName(Unknown Source) ~[?:1.7.0_25] 
     at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.j 
ava:173) ~[craftbukkit.jar:git-Bukkit-1.7.2-R0.2-b2974jnks] 
     ... 9 more 

我所做的一切吧! plugin.yml外部jar和導出,但仍然無法正常工作。任何想法爲什麼?

回答

1

由於錯誤狀態,

java.lang.ClassNotFoundException: me.f levasgr.rainbow.Reporter

它找不到主類的插件。也許你的一個包名是大寫的,或者你的主類是小寫的。 Bukkit的插件加載器在加載主類時區分大小寫。

+0

http://i.imgur.com/ckJOJCE.png我覺得名字很好。我改變了主要me.flevasgr.Reporter,仍然沒有什麼 –

+0

在這種情況下,它應該是'me.flevasgr.rainbow.Reporter.Reporter'。 Bukkit找不到這個類,因爲你只是指定了這個包,Bukkit需要這個包以及這個類。 – Rythix

+0

仍然沒有工作..即使我改變了一切:( –

0

bukkit中java.lang.ClassNotFoundException的原因有很多,最常見的原因是plugin.yml沒有指向正確的位置。

如果你有下面的類:

package me.flevasgr.rainbow.reporter; 
//... 
public class Reporter { 

那麼你應該複製完整的包,放置一個點,然後將類的名稱,如:

main: me.flevasgr.rainbow.reporter.Reporter 

這使得當然,bukkit會在正確的位置找到你的班級。