Java NoClassDefFoundError:由ClassNotFoundException引起

Java NoClassDefFoundError:由ClassNotFoundException引起,java,noclassdeffounderror,classnotfoundexception,Java,Noclassdeffounderror,Classnotfoundexception,我的程序在运行时可能会使用一个库,但运行程序不需要使用这个库。但是,当我运行程序时(库不存在),它会抱怨它不存在于非常特定的导入中: java.lang.NoClassDefFoundError: nl/lolmewn/stats/api/storage/StorageException at me.staartvin.plugins.pluginlibrary.Library.<clinit>(Library.java:34) ~[?:?]

我的程序在运行时可能会使用一个库,但运行程序不需要使用这个库。但是,当我运行程序时(库不存在),它会抱怨它不存在于非常特定的导入中:

    java.lang.NoClassDefFoundError: nl/lolmewn/stats/api/storage/StorageException
        at me.staartvin.plugins.pluginlibrary.Library.<clinit>(Library.java:34) ~[?:?]
        at me.staartvin.plugins.pluginlibrary.PluginLibrary.loadLibraries(PluginLibrary.java:105) ~[?:?]
        at me.staartvin.plugins.pluginlibrary.PluginLibrary.onEnable(PluginLibrary.java:68) ~[?:?]
        at org.bukkit.plugin.java.JavaPlugin.setEnabled(JavaPlugin.java:264) ~[spigot-latest.jar:git-Spigot-eadd615-4509a14]
        at org.bukkit.plugin.java.JavaPluginLoader.enablePlugin(JavaPluginLoader.java:337) [spigot-latest.jar:git-Spigot-eadd615-4
9a14]
        at org.bukkit.plugin.SimplePluginManager.enablePlugin(SimplePluginManager.java:403) [spigot-latest.jar:git-Spigot-eadd615-
09a14]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugin(CraftServer.java:381) [spigot-latest.jar:git-Spigot-eadd615-45
a14]
        at org.bukkit.craftbukkit.v1_12_R1.CraftServer.enablePlugins(CraftServer.java:330) [spigot-latest.jar:git-Spigot-eadd615-4
9a14]
        at net.minecraft.server.v1_12_R1.MinecraftServer.t(MinecraftServer.java:422) [spigot-latest.jar:git-Spigot-eadd615-4509a14
        at net.minecraft.server.v1_12_R1.MinecraftServer.l(MinecraftServer.java:383) [spigot-latest.jar:git-Spigot-eadd615-4509a14
        at net.minecraft.server.v1_12_R1.MinecraftServer.a(MinecraftServer.java:338) [spigot-latest.jar:git-Spigot-eadd615-4509a14
        at net.minecraft.server.v1_12_R1.DedicatedServer.init(DedicatedServer.java:272) [spigot-latest.jar:git-Spigot-eadd615-4509
4]
        at net.minecraft.server.v1_12_R1.MinecraftServer.run(MinecraftServer.java:545) [spigot-latest.jar:git-Spigot-eadd615-4509a
]
        at java.lang.Thread.run(Uenter code herenknown Source) [?:1.8.0_161]
Caused by: java.lang.ClassNotFoundException: nl.lolmewn.stats.api.storage.StorageException
        at java.net.URLClassLoader.findClass(Unknown Source) ~[?:1.8.0_161]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:152) ~[spigot-latest.jar:git-Spigot-eadd615-4
9a14]
        at org.bukkit.plugin.java.PluginClassLoader.findClass(PluginClassLoader.java:100) ~[spigot-latest.jar:git-Spigot-eadd615-4
9a14]
        at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_161]
        at java.lang.ClassLoader.loadClass(Unknown Source) ~[?:1.8.0_161]
        ... 14 more
请注意,我有许多使用此库的导入。奇怪的是,当我忽略StorageException导入时(例如,将其更改为常规异常),它不再给出任何错误,即使存在其他导入(来自完全相同的库)

显然,我想使用StorageException类捕捉错误,但我似乎无法做到这一点


如何解决此问题?

类在编译阶段是可以的,但在执行时找不到(如果存在任何服务器-遵循documenation)@JacekCz为什么它只出现在StorageException类中,而不出现在其他类中?