Luohuayu / CatServer

高性能和高兼容性的1.12.2/1.16.5/1.18.2版本Forge+Bukkit+Spigot服务端 (A high performance and high compatibility 1.12.2/1.16.5/1.18.2 version Forge+Bukkit+Spigot server)
https://catmc.org
GNU Lesser General Public License v3.0
1.98k stars 211 forks source link

CatServer Can't load plugin.yml main Path but it's okay in spigot 1.12.2 server #258

Closed laskdjlaskdj12 closed 4 years ago

laskdjlaskdj12 commented 4 years ago

I've an issue that can't loaded My Plugin in CatServer

[Error Log]

org.bukkit.plugin.InvalidPluginException:` Cannot find main class `AvalonMain'
    at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:88) ~[PluginClassLoader.class:git-CatServer-1.12.2-11c12cd]
    at org.bukkit.plugin.java.JavaPluginLoader.loadPlugin(JavaPluginLoader.java:131) ~[JavaPluginLoader.class:git-CatServer-1.12.2-11c12cd]
    at org.bukkit.plugin.SimplePluginManager.loadPlugin(SimplePluginManager.java:329) ~[SimplePluginManager.class:git-CatServer-1.12.2-11c12cd]
    at org.bukkit.plugin.SimplePluginManager.loadPlugins(SimplePluginManager.java:251) [SimplePluginManager.class:git-CatServer-1.12.2-11c12cd]
    at org.bukkit.craftbukkit.v1_12_R1.CraftServer.loadPlugins(CraftServer.java:360) [CraftServer.class:git-CatServer-1.12.2-11c12cd]
    at net.minecraft.server.MinecraftServer.func_71247_a(MinecraftServer.java:341) [MinecraftServer.class:?]
    at net.minecraft.server.dedicated.DedicatedServer.func_71197_b(DedicatedServer.java:327) [nz.class:?]
    at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:594) [MinecraftServer.class:?]
    at java.lang.Thread.run(Thread.java:748) [?:1.8.0_251]
Caused by: java.lang.ClassNotFoundException: AvalonMain
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:140) ~[PluginClassLoader.class:git-CatServer-1.12.2-11c12cd]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:108) ~[PluginClassLoader.class:git-CatServer-1.12.2-11c12cd]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_251]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_251]
    at java.lang.Class.forName0(Native Method) ~[?:1.8.0_251]
    at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_251]
    at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:86) ~[PluginClassLoader.class:git-CatServer-1.12.2-11c12cd]
    ... 8 more
Caused by: java.lang.ClassNotFoundException: AvalonMain
    at java.net.URLClassLoader.findClass(URLClassLoader.java:382) ~[?:1.8.0_251]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_251]
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:355) ~[?:1.8.0_251]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_251]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:138) ~[PluginClassLoader.class:git-CatServer-1.12.2-11c12cd]
    at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:108) ~[PluginClassLoader.class:git-CatServer-1.12.2-11c12cd]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:418) ~[?:1.8.0_251]
    at java.lang.ClassLoader.loadClass(ClassLoader.java:351) ~[?:1.8.0_251]
    at java.lang.Class.forName0(Native Method) ~[?:1.8.0_251]
    at java.lang.Class.forName(Class.java:348) ~[?:1.8.0_251]
    at org.bukkit.plugin.java.PluginClassLoader.<init>(PluginClassLoader.java:86) ~[PluginClassLoader.class:git-CatServer-1.12.2-11c12cd]
    ... 
8 more

[plugin.yml]


name: SpyGame
main: com.laskdjlaskdj12.spygame.AvalonMain
version: 0.0.1
description: Spy game for Streamer
author: laskdjlaskdj12

[AvalonMain.java] (only show checking mod)

package com.laskdjlaskdj12.spygame;

import com.laskdjlaskdj12.spygame.command.*;
import com.laskdjlaskdj12.spygame.command.cheat.*;
import com.laskdjlaskdj12.spygame.command.experdition.AddExperditionerCommand;
import com.laskdjlaskdj12.spygame.command.experdition.StartExperditionCommand;
import com.laskdjlaskdj12.spygame.command.experdition.StopExperditionCommand;
import com.laskdjlaskdj12.spygame.content.*;
import com.laskdjlaskdj12.spygame.event.PlayerHitEventHandler;
import com.laskdjlaskdj12.spygame.event.PlayerInteractiveEventHandler;
import com.laskdjlaskdj12.spygame.event.PlayerJoinEventHandler;
import com.laskdjlaskdj12.spygame.sequence.ChooseLakeElfSequence;
import com.laskdjlaskdj12.spygame.sequence.ExperditionLeadSequence;
import org.bukkit.World;
import org.bukkit.plugin.java.JavaPlugin;

public class AvalonMain extends JavaPlugin {

[build.gradle]

dependencies {
    compile group: 'com.google.code.gson', name: 'gson', version: '2.8.5'
    compile 'org.spigotmc:spigot-api:1.12.2-R0.1-SNAPSHOT'// The Spigot API with no shadowing. Requires the OSS repo.
    compile group: 'org.apache.commons', name: 'commons-collections4', version: '4.1'
    compileOnly 'org.projectlombok:lombok:1.18.6'
    annotationProcessor 'org.projectlombok:lombok:1.18.6'
    compile group: 'com.mashape.unirest', name: 'unirest-java', version: '1.4.7'
    compile group: 'com.google.code.gson', name: 'gson', version: '2.8.5'
    compile group: 'com.google.code.findbugs', name: 'jsr305', version: '3.0.0'
    testCompileOnly 'org.projectlombok:lombok:1.18.6'
    testAnnotationProcessor 'org.projectlombok:lombok:1.18.6'
    testCompile group: 'junit', name: 'junit', version: '4.12'
    testCompile group: 'org.mockito', name: 'mockito-core', version: '3.3.3'
    testCompile 'org.spigotmc:spigot-api:1.12.2-R0.1-SNAPSHOT' // The Spigot API with no shadowing. Requires the OSS repo.
    testImplementation 'com.github.seeseemelk:MockBukkit-v1.16:0.5.0'
}

As you can see it's seems like plugin.yml "main" section directing wrong path to Main class But I Run it in 1.12.2 Spigot server and it's runs okay

[spigot 1.12.2] image

[CatServer] image

How can i solve this problem?

This is info of CatServer and my Plugin CatServer Ver: git-CatServer-1.12.2-11c12cd (MC: 1.12.2) (Implementing API version 1.12.2-R0.1-SNAPSHOT, Forge version 14.23.5.2854)

laskdjlaskdj12 commented 4 years ago

Okay I Found Solution

I Compiled as JDK 11

So I Downgrade in JDK 8 and it works fine