简体   繁体   English

Bukkit Java插件中的ClassNotFoundException

[英]ClassNotFoundException In a Bukkit java Plugin

I'm trying to revive a plugin and im geting thir error: 我正在尝试恢复插件并收到错误消息:

[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

I've done everything right! 我做对了所有事情! The plugin.yml the external jar and the export but still doesnt work. 该plugin.yml外部jar和导出,但仍然无法正常工作。 Any idea why? 知道为什么吗?

As the error states, 由于错误状态,

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

it cannot find the main class of your plugin. 它找不到您的插件的主类。 Perhaps one of your package names is capitalized, or your main class is lowercase. 也许您的软件包名称之一是大写的,或者您的主类是小写的。 Bukkit's plugin loader is case sensitive when it comes to loading the main class. Bukkit的插件加载器在加载主类时区分大小写。

There are different reasons for a java.lang.ClassNotFoundException in bukkit, the most common reason is that the plugin.yml doesn't point to the correct location. bukkit中有java.lang.ClassNotFoundException的不同原因,最常见的原因是plugin.yml没有指向正确的位置。

If you have the following class: 如果您具有以下课程:

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

Then you should copy the full package, place a dot and then place the name of the class, like this: 然后,您应该复制完整的程序包,放置一个点,然后放置该类的名称,如下所示:

main: me.flevasgr.rainbow.reporter.Reporter 

This makes sure bukkit will find your class on the correct location. 这样可以确保bukkit在正确的位置找到您的课程。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM