diff --git a/.github/workflows/build.yaml b/.github/workflows/build.yaml
index 576091ee6..787177a56 100644
--- a/.github/workflows/build.yaml
+++ b/.github/workflows/build.yaml
@@ -7,7 +7,7 @@ jobs:
runs-on: [ubuntu-latest]
strategy:
matrix:
- java: [11, 17]
+ java: [11, 21]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
@@ -24,7 +24,7 @@ jobs:
runs-on: [macos-latest]
strategy:
matrix:
- java: [11, 17]
+ java: [11, 21]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
@@ -47,7 +47,7 @@ jobs:
runs-on: [windows-latest]
strategy:
matrix:
- java: [11, 17]
+ java: [11, 21]
steps:
- uses: actions/checkout@v3
- uses: actions/setup-java@v3
diff --git a/.idea/misc.xml b/.idea/misc.xml
index 035c46ded..60e310cfc 100644
--- a/.idea/misc.xml
+++ b/.idea/misc.xml
@@ -8,5 +8,5 @@
-
+
\ No newline at end of file
diff --git a/.idea/runConfigurations/App.xml b/.idea/runConfigurations/App.xml
index da7e24112..1f8e8173a 100644
--- a/.idea/runConfigurations/App.xml
+++ b/.idea/runConfigurations/App.xml
@@ -3,7 +3,7 @@
-
+
diff --git a/ant/linux/installer.xml b/ant/linux/installer.xml
index e6327a4fe..08477c153 100644
--- a/ant/linux/installer.xml
+++ b/ant/linux/installer.xml
@@ -1,5 +1,6 @@
+
diff --git a/ant/linux/linux.properties b/ant/linux/linux.properties
new file mode 100644
index 000000000..5f060324f
--- /dev/null
+++ b/ant/linux/linux.properties
@@ -0,0 +1,2 @@
+# Expose UNIXToolkit.getGtkVersion
+linux.launch.jigsaw=--add-opens java.desktop/sun.awt=ALL-UNNAMED
\ No newline at end of file
diff --git a/ant/project.properties b/ant/project.properties
index eac5327e5..35ed51fd4 100644
--- a/ant/project.properties
+++ b/ant/project.properties
@@ -29,14 +29,14 @@ jar.index=true
separate.static.libs=true
# See also qz.common.Constants.java
-javac.source=1.8
-javac.target=1.8
+javac.source=11
+javac.target=11
java.download=https://bell-sw.com/pages/downloads/#/java-11-lts
# Java vendor to bundle into software (e.g. "*BellSoft|Adoptium|Microsoft|Amazon|IBM")
jlink.java.vendor="BellSoft"
# Java vendor to bundle into software (e.g. "11.0.17+7")
-jlink.java.version="11.0.23+12"
+jlink.java.version="11.0.25+11"
# Java garbage collector flavor to use (e.g. "hotspot|openj9")
jlink.java.gc="hotspot"
# Java garbage collector version to use (e.g. openj9: "0.35.0", zulu: "11.62.17")
diff --git a/ant/unix/unix-launcher.sh.in b/ant/unix/unix-launcher.sh.in
index 92b31a9b3..b56ea5c0a 100644
--- a/ant/unix/unix-launcher.sh.in
+++ b/ant/unix/unix-launcher.sh.in
@@ -119,6 +119,8 @@ else
LAUNCH_OPTS="$LAUNCH_OPTS ${launch.jigsaw}"
if [[ "$OSTYPE" == "darwin"* ]]; then
LAUNCH_OPTS="$LAUNCH_OPTS ${apple.launch.jigsaw}"
+ else
+ LAUNCH_OPTS="$LAUNCH_OPTS ${linux.launch.jigsaw}"
fi
fi
diff --git a/src/qz/build/JLink.java b/src/qz/build/JLink.java
index d95317ead..85f6eafb1 100644
--- a/src/qz/build/JLink.java
+++ b/src/qz/build/JLink.java
@@ -255,7 +255,11 @@ private JLink deployJre() throws IOException {
Files.copy(jmodsPath.resolve("../../MacOS/libjli.dylib").normalize(), jliLib, StandardCopyOption.REPLACE_EXISTING);
} catch(IOException ignore) {
// Fallback to flat format
- Files.copy(jmodsPath.resolve("../lib/jli/libjli.dylib").normalize(), jliLib, StandardCopyOption.REPLACE_EXISTING);
+ String libjli = "../lib/jli/libjli.dylib";
+ if(javaSemver.getMajorVersion() >= 21) {
+ libjli = "../lib/libjli.dylib";
+ }
+ Files.copy(jmodsPath.resolve(libjli).normalize(), jliLib, StandardCopyOption.REPLACE_EXISTING);
}
// Deploy Contents/Info.plist