RITcraft / TradingPost

A Minecraft web-based trading post to help people buy and sell items on a server.
Mozilla Public License 2.0
0 stars 4 forks source link

NoClassDefFoundError: Plugin fails to start on boot #2

Closed jwflory closed 7 years ago

jwflory commented 7 years ago

Summary

The plugin fails to start up at the server launch because of a NoClassDefFoundError. The plugin is currently unusable.

Stacktrace

[23:55:27 INFO]: [TradingPost] Enabling TradingPost v2.0
[23:55:27 INFO]: Loading configuration..
[23:55:27 INFO]: Loading offers..
[23:55:27 ERROR]: Error occurred while enabling TradingPost v2.0 (Is it up to date?)
java.lang.NoClassDefFoundError: com/dumptruckman/bukkit/configuration/json/JsonConfiguration
        at edu.rit.chrisbitler.ritcraft.tradingpost.data.Sale.<init>(Sale.java:29) ~[?:?]
        at edu.rit.chrisbitler.ritcraft.tradingpost.TradingPost.onEnable(TradingPost.java:96) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:292) ~[patched_1.10.2.jar:git-Paper-902]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:316) [patched_1.10.2.jar:git-Paper-902]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:407) [patched_1.10.2.jar:git-Paper-902]
        at org.bukkit.craftbukkit.v1_10_R1.CraftServer.enablePlugin(CraftServer.java:375) [patched_1.10.2.jar:git-Paper-902]
        at org.bukkit.craftbukkit.v1_10_R1.CraftServer.enablePlugins(CraftServer.java:325) [patched_1.10.2.jar:git-Paper-902]
        at net.minecraft.server.v1_10_R1.MinecraftServer.t(MinecraftServer.java:418) [patched_1.10.2.jar:git-Paper-902]
        at net.minecraft.server.v1_10_R1.MinecraftServer.l(MinecraftServer.java:383) [patched_1.10.2.jar:git-Paper-902]                                       at net.minecraft.server.v1_10_R1.MinecraftServer.a(MinecraftServer.java:329) [patched_1.10.2.jar:git-Paper-902]
        at net.minecraft.server.v1_10_R1.DedicatedServer.init(DedicatedServer.java:275) [patched_1.10.2.jar:git-Paper-902]
        at net.minecraft.server.v1_10_R1.MinecraftServer.run(MinecraftServer.java:584) [patched_1.10.2.jar:git-Paper-902]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
Caused by: java.lang.ClassNotFoundException: com.dumptruckman.bukkit.configuration.json.JsonConfiguration
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[?:1.8.0_111]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:102) ~[patched_1.10.2.jar:git-Paper-902]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:87) ~[patched_1.10.2.jar:git-Paper-902]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_111]                                                                               at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_111]
        ... 13 more
[23:55:27 INFO]: [TradingPost] Disabling TradingPost v2.0

Any leads, @Chris-Bitler / @VoidWhisperer?

Chris-Bitler commented 7 years ago

I'm going to assume that you were using mvn clean install to produce the jar file.

You need to use mvn package so that it shades in the dependencies correctly, as seen here:

https://github.com/RITcraft/TradingPost/blob/master/pom.xml#L90

Chris-Bitler commented 7 years ago

Nevermind - I was wrong - This is an issue with how the dependency is scoped since it's listed as a system dependency. This complicates this alot because the non-system dependency one doesn't work anymore.

jwflory commented 7 years ago

For what it's worth, I built it using mvn clean package.

Chris-Bitler commented 7 years ago

@jflory7 I figured out a solution, but I'm running into a bit of a problem:

To get this to work I have to put the code from JsonConfiguration into the code for this project, which shouldn't be a problem.. except

JsonConfiguration is using the MPL 2.0 license and I'm not sure what I need to do in order to keep this compatible with that license.

jwflory commented 7 years ago

@Chris-Bitler Hmmm, well, firstly we have a problem that we have to determine a license to use for this project. :wink: Fortunately, since it's only you and me that have contributed code, that means that only you and me have to come to an agreement about a license. As of now, this project falls under default copyright law, which is redundant when the source code is all public here anyways.

I am actually particular myself to the MPL 2.0, and I think that we should lean towards using a copyleft license for this project, so that any modifications made to this source code always have to be free and open source in return. Another copyleft license is the LGPL 3.0, which I also prefer. I am not so much a fan of the regular GPL since I think it isolates some people from wanting to contribute code to a project because of the sublicensing clause with regards to proprietary software.

I give my :+1: to the MPL 2.0, but am interested to know what you think.

Chris-Bitler commented 7 years ago

This should be dealt with since #4 was merged. I'm going to close the issue, re-open it if it isn't solved.

jwflory commented 7 years ago

@Chris-Bitler Can confirm the issue is still happening. My current stacktrace with latest changes:

[11:58:46 INFO]: [TradingPost] Enabling TradingPost v2.0
[11:58:46 INFO]: Loading configuration..                                                                                                              [11:58:46 INFO]: Loading offers..                                                                                                                     [11:58:46 ERROR]: Error occurred while enabling TradingPost v2.0 (Is it up to date?)                                                                  java.lang.NoClassDefFoundError: com/dumptruckman/bukkit/configuration/json/JsonConfiguration                                                                  at edu.rit.chrisbitler.ritcraft.tradingpost.data.Sale.<init>(Sale.java:29) ~[?:?]                                                                     at edu.rit.chrisbitler.ritcraft.tradingpost.TradingPost.onEnable(TradingPost.java:96) ~[?:?]                                                          at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:292) ~[patched_1.10.2.jar:git-Paper-902]                                              at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:316) [patched_1.10.2.jar:git-Paper-902]                                 at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:407) [patched_1.10.2.jar:git-Paper-902]                                at org.bukkit.craftbukkit.v1_10_R1.CraftServer.enablePlugin(CraftServer.java:375) [patched_1.10.2.jar:git-Paper-902]                                  at org.bukkit.craftbukkit.v1_10_R1.CraftServer.enablePlugins(CraftServer.java:325) [patched_1.10.2.jar:git-Paper-902]                                 at net.minecraft.server.v1_10_R1.MinecraftServer.t(MinecraftServer.java:418) [patched_1.10.2.jar:git-Paper-902]                                       at net.minecraft.server.v1_10_R1.MinecraftServer.l(MinecraftServer.java:383) [patched_1.10.2.jar:git-Paper-902]
        at net.minecraft.server.v1_10_R1.MinecraftServer.a(MinecraftServer.java:329) [patched_1.10.2.jar:git-Paper-902]
        at net.minecraft.server.v1_10_R1.DedicatedServer.init(DedicatedServer.java:275) [patched_1.10.2.jar:git-Paper-902]
        at net.minecraft.server.v1_10_R1.MinecraftServer.run(MinecraftServer.java:584) [patched_1.10.2.jar:git-Paper-902]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
Caused by: java.lang.ClassNotFoundException: com.dumptruckman.bukkit.configuration.json.JsonConfiguration
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[?:1.8.0_111]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:102) ~[patched_1.10.2.jar:git-Paper-902]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:87) ~[patched_1.10.2.jar:git-Paper-902]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_111]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_111]
        ... 13 more
[11:58:46 INFO]: [TradingPost] Disabling TradingPost v2.0
jwflory commented 7 years ago

@VoidWhisperer Here is the most current stacktrace for 1.11.

[14:14:14 ERROR]: Error occurred while enabling TradingPost v2.0 (Is it up to date?)                                                                  java.lang.NoClassDefFoundError: com/dumptruckman/bukkit/configuration/json/JsonConfiguration                                                                  at edu.rit.chrisbitler.ritcraft.tradingpost.data.Sale.<init>(Sale.java:29) ~[?:?]                                                                     at edu.rit.chrisbitler.ritcraft.tradingpost.TradingPost.onEnable(TradingPost.java:96) ~[?:?]                                                          at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:271) ~[patched_1.11.jar:git-Paper-958]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:316) [patched_1.11.jar:git-Paper-958]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:407) [patched_1.11.jar:git-Paper-958]
        at org.bukkit.craftbukkit.v1_11_R1.CraftServer.enablePlugin(CraftServer.java:377) [patched_1.11.jar:git-Paper-958]
        at org.bukkit.craftbukkit.v1_11_R1.CraftServer.enablePlugins(CraftServer.java:327) [patched_1.11.jar:git-Paper-958]
        at net.minecraft.server.v1_11_R1.MinecraftServer.t(MinecraftServer.java:433) [patched_1.11.jar:git-Paper-958]
        at net.minecraft.server.v1_11_R1.MinecraftServer.l(MinecraftServer.java:394) [patched_1.11.jar:git-Paper-958]
        at net.minecraft.server.v1_11_R1.MinecraftServer.a(MinecraftServer.java:332) [patched_1.11.jar:git-Paper-958]
        at net.minecraft.server.v1_11_R1.DedicatedServer.init(DedicatedServer.java:276) [patched_1.11.jar:git-Paper-958]
        at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:599) [patched_1.11.jar:git-Paper-958]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
Caused by: java.lang.ClassNotFoundException: com.dumptruckman.bukkit.configuration.json.JsonConfiguration
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[?:1.8.0_111]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:102) ~[patched_1.11.jar:git-Paper-958]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:87) ~[patched_1.11.jar:git-Paper-958]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_111]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_111]
        ... 13 more
jwflory commented 7 years ago

Tried building one more time, still not working. 😭

[14:32:15 ERROR]: Error occurred while enabling TradingPost v2.0 (Is it up to date?)
java.lang.NoClassDefFoundError: com/dumptruckman/bukkit/configuration/json/JsonConfiguration
        at edu.rit.chrisbitler.ritcraft.tradingpost.data.Sale.<init>(Sale.java:29) ~[?:?]
        at edu.rit.chrisbitler.ritcraft.tradingpost.TradingPost.onEnable(TradingPost.java:96) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:271) ~[patched_1.11.jar:git-Paper-958]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:316) [patched_1.11.jar:git-Paper-958]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:407) [patched_1.11.jar:git-Paper-958]
        at org.bukkit.craftbukkit.v1_11_R1.CraftServer.enablePlugin(CraftServer.java:377) [patched_1.11.jar:git-Paper-958]
        at org.bukkit.craftbukkit.v1_11_R1.CraftServer.enablePlugins(CraftServer.java:327) [patched_1.11.jar:git-Paper-958]
        at net.minecraft.server.v1_11_R1.MinecraftServer.t(MinecraftServer.java:433) [patched_1.11.jar:git-Paper-958]
        at net.minecraft.server.v1_11_R1.MinecraftServer.l(MinecraftServer.java:394) [patched_1.11.jar:git-Paper-958]
        at net.minecraft.server.v1_11_R1.MinecraftServer.a(MinecraftServer.java:332) [patched_1.11.jar:git-Paper-958]
        at net.minecraft.server.v1_11_R1.DedicatedServer.init(DedicatedServer.java:276) [patched_1.11.jar:git-Paper-958]
        at net.minecraft.server.v1_11_R1.MinecraftServer.run(MinecraftServer.java:599) [patched_1.11.jar:git-Paper-958]
        at java.lang.Thread.run(Thread.java:745) [?:1.8.0_111]
Caused by: java.lang.ClassNotFoundException: com.dumptruckman.bukkit.configuration.json.JsonConfiguration
        at java.net.URLClassLoader.findClass(URLClassLoader.java:381) ~[?:1.8.0_111]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:102) ~[patched_1.11.jar:git-Paper-958]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:87) ~[patched_1.11.jar:git-Paper-958]
        at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_111]                                                                               at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_111]                                                                               ... 13 more
[14:32:15 INFO]: [TradingPost] Disabling TradingPost v2.0