Ok, I have made some more research and have done following steps:
1. Installed JDK 8 for Windows 11 (x64 CPU arch)
2. Installed Apache Ant
3. Cloned Ender GitHub repository
4. Replaced all URLs from
http://www.havenandhearth.com to legacy.havenandhearth.com (11 changes)
5. Run Apache Ant in root directory of Ender repository to build Ender client from scratch after URL changes
6. Built succesfully
7. When trying to run build jar with:
- Code: Select all
java -Xms256m -Xmx512m -jar haven.jar legacy.havenandhearth.com
command I get an error though:
- Code: Select all
PS C:\Users\doria\Projects\Java\Haven-and-Hearth-client-modified-by-Ender\build> java -Xms256m -Xmx512m -jar haven.jar legacy.havenandhearth.com
Exception in thread "Haven main thread" java.lang.NoClassDefFoundError: com/sun/gluegen/runtime/DynamicLookupHelper
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.Class.forName0(Native Method)
at java.lang.Class.forName(Unknown Source)
at javax.media.opengl.GLDrawableFactory.getFactory(GLDrawableFactory.java:106)
at javax.media.opengl.GLCanvas.chooseGraphicsConfiguration(GLCanvas.java:520)
at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:131)
at javax.media.opengl.GLCanvas.<init>(GLCanvas.java:90)
at haven.HavenPanel.<init>(HavenPanel.java:77)
at haven.MainFrame.<init>(MainFrame.java:159)
at haven.MainFrame.main2(MainFrame.java:272)
at haven.MainFrame.access$100(MainFrame.java:52)
at haven.MainFrame$6.run(MainFrame.java:327)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: com.sun.gluegen.runtime.DynamicLookupHelper
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 36 more
Exception in thread "Haven resource loader" haven.Resource$LoadException: Load error in resource gfx/arch/gates/fence-ns(v1), from cache source backed by haven.FileCache@3ad2ab2b
at haven.Resource$Loader.handle(Resource.java:487)
at haven.Resource$Loader.run(Resource.java:450)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.IllegalStateException: Shutdown in progress
at java.lang.ApplicationShutdownHooks.add(Unknown Source)
at java.lang.Runtime.addShutdownHook(Unknown Source)
at com.sun.imageio.stream.StreamCloser$2.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at com.sun.imageio.stream.StreamCloser.addToQueue(Unknown Source)
at javax.imageio.stream.FileCacheImageInputStream.<init>(Unknown Source)
at com.sun.imageio.spi.InputStreamImageInputStreamSpi.createInputStreamInstance(Unknown Source)
at javax.imageio.ImageIO.createImageInputStream(Unknown Source)
at javax.imageio.ImageIO.read(Unknown Source)
at haven.Resource$Image.<init>(Resource.java:549)
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at haven.Resource.load(Resource.java:1089)
at haven.Resource.access$300(Resource.java:74)
at haven.Resource$Loader.handle(Resource.java:471)
... 2 more
but jogl.jar and gluegen-rt.jar files are indeed in the build directory.
I'm a Python developer, not a Java one, thus I find it hard to fix those issues.
Can someone with more JAVA experience help in fixing those linking issues?
I have also tried doing all this process on Linux Fedora Workstation 37 with the same result - jogl linking issue