It is lovely that I can see dynmap recognize "biomes o plenty's" textures now, but unfortunately, javax is forgot from add to the package. ( beta-10)
asvany opened this issue ยท 4 comments
[14:24:20] [Server thread/INFO] [Actually Additions]: Successfully loaded WorldData!
[14:24:21] [Server thread/INFO] [Dynmap]: [Dynmap] Added 99 custom biome mappings
[14:24:21] [Server thread/INFO] [Dynmap]: [Dynmap] Using ops.txt for access control
[14:24:21] [Server thread/ERROR] [minecraft/MinecraftServer]: Encountered an unexpected exception
net.minecraftforge.fml.common.LoaderExceptionModCrash: Caught exception from Dynmap (dynmap)
Caused by: java.lang.NoClassDefFoundError: org/dynmap/javax/servlet/http/HttpServlet
at org.dynmap.forge_1_12_2.DynmapPlugin.onEnable(DynmapPlugin.java:1469) ~[DynmapPlugin.class:?]
at org.dynmap.forge_1_12_2.Proxy.startServer(Proxy.java:17) ~[Proxy.class:?]
at org.dynmap.forge_1_12_2.DynmapMod$APICallback.apiListenerAdded(DynmapMod.java:49) ~[DynmapMod$APICallback.class:?]
at org.dynmap.DynmapCommonAPIListener.register(DynmapCommonAPIListener.java:56) ~[DynmapCommonAPIListener.class:?]
at org.dynmap.forge_1_12_2.DynmapMod.serverStarted(DynmapMod.java:118) ~[DynmapMod.class:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_77]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_77]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_77]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_77]
at net.minecraftforge.fml.common.FMLModContainer.handleModStateEvent(FMLModContainer.java:637) ~[FTBserver-1.12.2-14.23.5.2846-universal.jar:?]
at sun.reflect.GeneratedMethodAccessor9.invoke(Unknown Source) ~[?:?]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_77]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_77]
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:217) ~[minecraft_server.1.12.2.jar:?]
at net.minecraftforge.fml.common.LoadController.sendEventToModContainer(LoadController.java:219) ~[FTBserver-1.12.2-14.23.5.2846-universal.jar:?]
at net.minecraftforge.fml.common.LoadController.propogateStateMessage(LoadController.java:197) ~[FTBserver-1.12.2-14.23.5.2846-universal.jar:?]
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) ~[?:1.8.0_77]
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) ~[?:1.8.0_77]
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:1.8.0_77]
at java.lang.reflect.Method.invoke(Method.java:498) ~[?:1.8.0_77]
at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:91) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:150) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.Subscriber$1.run(Subscriber.java:76) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.util.concurrent.MoreExecutors$DirectExecutor.execute(MoreExecutors.java:399) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:71) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:116) ~[minecraft_server.1.12.2.jar:?]
at com.google.common.eventbus.EventBus.post(EventBus.java:217) ~[minecraft_server.1.12.2.jar:?]
at net.minecraftforge.fml.common.LoadController.distributeStateMessage(LoadController.java:136) ~[LoadController.class:?]
at net.minecraftforge.fml.common.Loader.serverStarted(Loader.java:804) ~[Loader.class:?]
at net.minecraftforge.fml.common.FMLCommonHandler.handleServerStarted(FMLCommonHandler.java:302) ~[FMLCommonHandler.class:?]
at net.minecraft.server.MinecraftServer.run(MinecraftServer.java:488) [MinecraftServer.class:?]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_77]
Caused by: java.lang.ClassNotFoundException: org.dynmap.javax.servlet.http.HttpServlet
at net.minecraft.launchwrapper.LaunchClassLoader.findClass(LaunchClassLoader.java:191) ~[launchwrapper-1.12.jar:?]
at java.lang.ClassLoader.loadClass(ClassLoader.java:424) ~[?:1.8.0_77]
at java.lang.ClassLoader.loadClass(ClassLoader.java:357) ~[?:1.8.0_77]
I checked the jar and the class really not exists inside them
A quick solution to this issue for anyone getting this like I did is to download the source code from github and check the build tutorial: How to build dynmap.
- Compile everything
- Check the targets directory
- Open both
DynmapCore-{version}-SNAPSHOT.jar
andDYNMAP-{version}-SNAPSHOT-{target}-{mc_version}.jar
- Inside
DynmapCore
goto the folderorg/dynmap
extractjavax
to a directory,
then add thejavax
folder back into the target Dynmap version's jar atorg/dynmap
.
After you do that you will have extracted the required classes back into dynmap to run the plugin / mod.
I had this issue with DynmapForge-3.0-forge-1.12.2 I am unaware of what version are affected but I hope this helps anyone who will have this issue.
Thank you, your reply!
I tried to follow the how-to, and I have recognized the dynmap use "Gradle" for building rather than "Maven" which is in the guide.
Unfortunately, when I try to build with Gradle, I can get this: https://scans.gradle.com/s/mgw5yzn3hcmk4
but this is a different issue.
SOLVED. :)
TL;DR: a copy of Dynmap-.*-forge-1.12.2.jar to the server mods directory is not enough anymore ( as I see after the beta-9 )
it should copy some other jars too.
I copied dynmap-api-3.0-SNAPSHOT.jar , DynmapCoreAPI-3.0-SNAPSHOT.jar , DynmapCore-3.0-SNAPSHOT.jar with the Dynmap-3.0-SNAPSHOT-forge-1.12.2.jar and it solved the problem.
Dynmap loads and runs like a charm.
+1 my server required DynmapBlockScan too to render Biomes O' Plenty's blocks.
so:
first, build and install Dynmap and DynMapScan for forge-1.12.2:
git clone git://github.com/webbukkit/dynmap.git
cd dynmap
./gradlew clean build install
cd ..
git clone https://github.com/webbukkit/DynmapBlockScan.git
cd DynmapBlockScan
git checkout 1.12.2
./gradlew clean build jar
cd ..
then copy these artifacts to the server's mod directory:
./dynmap/target/DynmapCoreAPI-3.0-SNAPSHOT.jar
./dynmap/target/dynmap-api-3.0-SNAPSHOT.jar
./dynmap/target/DynmapCore-3.0-SNAPSHOT.jar
./dynmap/target/Dynmap-3.0-SNAPSHOT-forge-1.12.2.jar
./DynmapBlockScan/DynmapBlockScan-3.0-SNAPSHOT-forge-1.12.2.jar