Install Oracle Java 25
Check out the Our Java MC world for pictures of our builds. I will be adding pictures from our children’s builds interiors.
Directions on installing
Oracle Java doesn’t use a repository to update the JDK-25 files. I will have to manually do it. I uninstalled all other versions of Java.
JDK 25 is the latest Long-Term Support (LTS) release of the Java SE Platform.
Upgrading to Java Minecraft 26.1.2 or later
Use Oracle JVM 25
Oracle JVM 25 latest
Could not initialize class io.netty.channel.kqueue.Native
> 2026-05-06T00:52:26.936118561Z Server thread ERROR An exception occurred processing Appender DebugFile
org.apache.logging.log4j.core.appender.AppenderLoggingException: java.lang.NoClassDefFoundError: Could not initialize class io.netty.channel.kqueue.Native
at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:164)
at org.apache.logging.log4j.core.config.AppenderControl.callAppender0(AppenderControl.java:133)
at org.apache.logging.log4j.core.config.AppenderControl.callAppenderPreventRecursion(AppenderControl.java:124)
at org.apache.logging.log4j.core.config.AppenderControl.callAppender(AppenderControl.java:88)
at org.apache.logging.log4j.core.config.LoggerConfig.callAppenders(LoggerConfig.java:711)
at org.apache.logging.log4j.core.config.LoggerConfig.processLogEvent(LoggerConfig.java:669)
at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:645)
at org.apache.logging.log4j.core.config.LoggerConfig.log(LoggerConfig.java:554)
at org.apache.logging.log4j.core.config.AwaitCompletionReliabilityStrategy.log(AwaitCompletionReliabilityStrategy.java:67)
at org.apache.logging.log4j.core.Logger.logMessage(Logger.java:173)
at org.apache.logging.slf4j.Log4jLogger.log(Log4jLogger.java:374)
at io.netty.util.internal.logging.LocationAwareSlf4JLogger.log(LocationAwareSlf4JLogger.java:46)
at io.netty.util.internal.logging.LocationAwareSlf4JLogger.debug(LocationAwareSlf4JLogger.java:129)
at io.netty.channel.kqueue.KQueue.<clinit>(KQueue.java:54)
at TRANSFORMER/minecraft@26.1.2/net.minecraft.server.network.EventLoopGroupHolder.remote(EventLoopGroupHolder.java:59)
at TRANSFORMER/minecraft@26.1.2/net.minecraft.server.network.ServerConnectionListener.startTcpServerListener(ServerConnectionListener.java:57)
at TRANSFORMER/minecraft@26.1.2/net.minecraft.server.dedicated.DedicatedServer.initServer(DedicatedServer.java:261)
at TRANSFORMER/minecraft@26.1.2/net.minecraft.server.MinecraftServer.runServer(MinecraftServer.java:735)
at TRANSFORMER/minecraft@26.1.2/net.minecraft.server.MinecraftServer.lambda$spin$0(MinecraftServer.java:300)
at java.base/java.lang.Thread.run(Thread.java:1474)
Caused by: java.lang.NoClassDefFoundError: Could not initialize class io.netty.channel.kqueue.Native
at java.base/java.lang.Class.forName0(Native Method)
at java.base/java.lang.Class.forName(Class.java:547)
at org.apache.logging.log4j.util.LoaderUtil.loadClass(LoaderUtil.java:212)
at org.apache.logging.log4j.core.pattern.ThrowableExtendedStackTraceRenderer.lambda$static$1(ThrowableExtendedStackTraceRenderer.java:196)
at org.apache.logging.log4j.core.pattern.ThrowableExtendedStackTraceRenderer$ExtendedContext.loadClass(ThrowableExtendedStackTraceRenderer.java:180)
at org.apache.logging.log4j.core.pattern.ThrowableExtendedStackTraceRenderer$ExtendedContext.createClassResourceInfoByName(ThrowableExtendedStackTraceRenderer.java:166)
at org.apache.logging.log4j.core.pattern.ThrowableExtendedStackTraceRenderer$ExtendedContext.ofThrowable(ThrowableExtendedStackTraceRenderer.java:96)
at org.apache.logging.log4j.core.pattern.ThrowableExtendedStackTraceRenderer$ExtendedContext.access$000(ThrowableExtendedStackTraceRenderer.java:81)
at org.apache.logging.log4j.core.pattern.ThrowableExtendedStackTraceRenderer.createContext(ThrowableExtendedStackTraceRenderer.java:43)
at org.apache.logging.log4j.core.pattern.ThrowableExtendedStackTraceRenderer.createContext(ThrowableExtendedStackTraceRenderer.java:34)
at org.apache.logging.log4j.core.pattern.ThrowableStackTraceRenderer.renderThrowable(ThrowableStackTraceRenderer.java:55)
at org.apache.logging.log4j.core.pattern.ThrowablePatternConverter.format(ThrowablePatternConverter.java:130)
at org.apache.logging.log4j.core.layout.PatternLayout$NoFormatPatternSerializer.toSerializable(PatternLayout.java:354)
at org.apache.logging.log4j.core.layout.PatternLayout.toText(PatternLayout.java:251)
at org.apache.logging.log4j.core.layout.PatternLayout.encode(PatternLayout.java:237)
at org.apache.logging.log4j.core.layout.PatternLayout.encode(PatternLayout.java:57)
at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.directEncodeEvent(AbstractOutputStreamAppender.java:227)
at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.tryAppend(AbstractOutputStreamAppender.java:220)
at org.apache.logging.log4j.core.appender.AbstractOutputStreamAppender.append(AbstractOutputStreamAppender.java:211)
at org.apache.logging.log4j.core.appender.RollingRandomAccessFileAppender.append(RollingRandomAccessFileAppender.java:275)
at org.apache.logging.log4j.core.config.AppenderControl.tryCallAppender(AppenderControl.java:160)
... 19 more
Caused by: java.lang.ExceptionInInitializerError: Exception java.lang.IllegalStateException: Only supported on OSX/BSD [in thread "Server thread"]
at io.netty.channel.kqueue.Native.loadNativeLibrary(Native.java:159)
at io.netty.channel.kqueue.Native.<clinit>(Native.java:76)
at io.netty.channel.kqueue.KQueue.<clinit>(KQueue.java:38)
... 6 more
Solution: Could not initialize class io.netty.channel.kqueue.Native
/etc/environment
Add JDK_JAVA_OPTIONS
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
JAVA_HOME="/usr/lib/jvm/jdk-25/bin"
JDK_JAVA_OPTIONS="--add-opens java.base/jdk.internal.misc=ALL-UNNAMED --add-opens java.base/java.nio=ALL-UNNAMED --add-opens java.base/java.security=ALL-UNNAMED --add-opens jdk.unsupported/sun.misc=ALL-UNNAMED --enable-native-access=ALL-UNNAMED"
The error Could not initialize class io.netty.channel.kqueue.Native on Ubuntu 24.04 with Minecraft 26.1.2 (likely 1.21+ based on the Java 25 requirement) occurs because Netty, the networking library used by Minecraft, is trying to use kqueue (a macOS-specific native networking transport) on Linux
Force Epoll (Linux Native Networking)
Instead of allowing Netty to default to kqueue, force the server to use Linux’s native epoll transport. Add the following argument to your server startup command:
In user_jvm_args.txt
-Dio.netty.transport.noNative=true
The errors you’re encountering on Ubuntu 24.04 are likely because Minecraft 26.1.2 (the “Tiny Takeover” hotfix released April 9, 2026) strictly requires Java 25 (class file version 69.0). Ubuntu 24.04 currently only includes OpenJDK 21 by default, which causes an UnsupportedClassVersionError because it only supports up to class file version 65.0
Fix for Ubuntu 24.04 [1]
Since Java 25 is not yet in the official Ubuntu repositories, you must manually install a compatible JDK: [1, 2]
Install Java 25: Download the Linux x64 JDK from a provider like the Azul Zulu Download Page or the Oracle Java Archive.
Extract and Set Path: Extract the package to /usr/lib/jvm/ and use update-alternatives to register it:
Go into /usr/lib/jvm and extract it
sudo apt install jdk-25_linux-x64_bin.deb
Go into /user/lib/jvm and rename the folder to jdk-25
Register it
sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/jdk-25/bin/java 1
sudo update-alternatives --config java
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/lib/jvm/jdk-25/bin/java 1 auto mode
1 /usr/lib/jvm/jdk-25/bin/java 1 manual mode
Press <enter> to keep the current choice[*], or type selection number:
Setting JAVA_HOME: To ensure build tools recognize the new version, add this line to your ~/.bashrc file:
export JAVA_HOME=/usr/lib/jvm/jdk-25sudo vim /etc/environment
JAVA_HOME="/usr/lib/jvm/jdk-25/"
JDK_JAVA_OPTIONS=
PATH="/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin"
errors loading 26.1.2 Minecraft
2026-05-02T18:15:03.611687982Z Server thread ERROR An exception occurred processing Appender DebugFile org.apache.logging.log4j.core.appender.AppenderLoggingException: java.lang.NoClassDefFoundError: Could not initialize class io.netty.channel.kqueue.Native