Skip to content

Commit 9dd996e

Browse files
committed
[bugfix] macOS .app: accept Java 21+ for JVM discovery
The appbundler-maven-plugin writes <jvmRequired> verbatim into the .app bundle's Info.plist as JVMVersion. Apple's JavaAppLauncher uses that key (and the convention "<major>+") to gate which installed JVM it will use to launch the app. With <jvmRequired>21</jvmRequired> the launcher's plist contains JVMVersion = 21 (a strict match), so a host with only Java 22 / 23 / 24 / … installed would be rejected even though eXist runs fine on those. Switch to "21+" — matches the established Apple convention (1.6+, 1.7+, 1.8+, …) and lines up with how Zulu / Temurin / Liberica / Apple JDKs all install their major-version directories. Verified the plugin propagates the literal: /usr/libexec/PlistBuddy -c "Print :JVMVersion" Contents/Info.plist # 21+ Follow-up to @duncdrum review on PR #6434 (#6434 (comment)).
1 parent 9057c82 commit 9dd996e

1 file changed

Lines changed: 1 addition & 1 deletion

File tree

exist-distribution/pom.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1078,7 +1078,7 @@
10781078
<identifier>org.exist.start.Main</identifier>
10791079
<mainClassName>org.exist.start.Main</mainClassName>
10801080
<executableName>eXist-JavaAppLauncher</executableName>
1081-
<jvmRequired>21</jvmRequired>
1081+
<jvmRequired>21+</jvmRequired>
10821082
<minimumSystemVersion>11.0</minimumSystemVersion>
10831083
<!-- Populate LSArchitecturePriority so macOS LaunchServices
10841084
will launch the .app. The plugin emits an empty

0 commit comments

Comments
 (0)