--- libbluray-1.3.4/configure.ac	2023-10-30 11:31:24.385633069 +0100
+++ libbluray-1.3.4/configure.ac	2023-10-30 11:39:34.545384400 +0100
@@ -292,11 +292,13 @@
         dnl check for Java 9+
         javac_version=`"$JAVAC" -version 2>&1 | head -n 1`
         [with_java9=`echo "$javac_version" | grep -E -q '^javac\ (9|1[0-1])' && echo yes`]
-        [with_java12=`echo "$javac_version" | grep -E -q '^javac\ (1[2-9])' && echo yes`]
+        [with_java12=`echo "$javac_version" | grep -E -q '^javac\ (1[2-7])' && echo yes`]
+        [with_java18=`echo "$javac_version" | grep -E -q '^javac\ (1[8-9]|21)' && echo yes`]
     ])
 
     AS_IF([test "x$with_java9" = "xyes" -a "$BDJ_TYPE" != "j2me"], [java_code_version=1.6], [java_code_version=1.4])
     AS_IF([test "x$with_java12" = "xyes" -a "$BDJ_TYPE" != "j2me"], [java_code_version=1.7])
+    AS_IF([test "x$with_java18" = "xyes" -a "$BDJ_TYPE" != "j2me"], [java_code_version=1.8])
 ])
 
 AC_DEFINE_UNQUOTED([JAVA_ARCH], ["$java_arch"], ["Defines the architecture of the java vm."])
@@ -304,6 +306,7 @@
 AM_CONDITIONAL([USING_BDJAVA_BUILD_JAR], [ test $use_bdjava_jar = "yes" ])
 AM_CONDITIONAL([USING_JAVAC_9], [ test x"$with_java9" = x"yes" ])
 AM_CONDITIONAL([USING_JAVAC_12], [ test x"$with_java12" = x"yes" ])
+AM_CONDITIONAL([USING_JAVAC_18], [ test x"$with_java18" = x"yes" ])
 
 dnl BD-J type
 if test "$BDJ_TYPE" = "j2me"; then
--- libbluray-1.3.4/Makefile.am	2023-10-30 11:31:24.385633069 +0100
+++ libbluray-1.3.4/Makefile.am	2023-10-30 11:41:25.962753380 +0100
@@ -241,6 +241,9 @@
 
 if USING_BDJAVA_BUILD_JAR
 
+if USING_JAVAC_18
+java_versions = -Djava_version_asm=1.8 -Djava_version_bdj=1.8
+else
 if USING_JAVAC_12
 java_versions = -Djava_version_asm=1.7 -Djava_version_bdj=1.7
 else
@@ -250,6 +253,7 @@
 java_versions = -Djava_version_asm=1.5 -Djava_version_bdj=1.4
 endif
 endif
+endif
 
 if BDJ_J2SE
 awt_src = java-$(BDJ_TYPE):java-build-support