Hi Alexey, all, I nailed down the problem to the following, which seems to differ between JDK25 and JDK21. Maybe this helps to reproduce the issue.
jpackage is called 3 times in my process 1. /Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home/bin/jpackage --type app-image --input /Users/daniel/Documents/GitHub/myPROJECT/build/install/myPROJECT/lib --main-jar myPROJECT-25.11.03.jar --main-class eu.my_company.myproject.Launcher --dest /Users/daniel/Documents/GitHub/myPROJECT/build/jpackage --name myPROJECT --app-version 25.11.03 --runtime-image /Users/daniel/Documents/GitHub/myPROJECT/build/jre --java-options --add-opens=javafx.base/com.sun.javafx.collections=ALL-UNNAMED --java-options --add-opens=javafx.base/com.sun.javafx.event=ALL-UNNAMED --java-options --add-opens=javafx.controls/com.sun.javafx.scene.control=ALL-UNNAMED --java-options --add-opens=javafx.controls/com.sun.javafx.scene.control.behavior=ALL-UNNAMED --java-options --add-opens=javafx.controls/javafx.scene.control.skin=ALL-UNNAMED --java-options --add-exports=java.management/javax.management=ALL-UNNAMED --java-options --add-opens=java.xml/com.sun.org.apache.xerces.internal.util=ALL-UNNAMED --java-options --add-opens=javafx.graphics/com.sun.glass.ui=ALL-UNNAMED --icon src/main/deploy/package/macosx/myPROJECT.icns --mac-package-identifier eu.my-company.myproject --mac-sign 2. /Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home/bin/jpackage --type pkg --dest /Users/daniel/Documents/GitHub/myPROJECT/build/jpackage --name myPROJECT --app-version 25.11.03 --app-image /Users/daniel/Documents/GitHub/myPROJECT/build/jpackage/myPROJECT.app --file-associations src/main/resources/associations.properties --app-version 25.11.03 --vendor "My Company" --copyright "My Company" --mac-sign 3. /Library/Java/JavaVirtualMachines/jdk-21.jdk/Contents/Home/bin/jpackage --type dmg --dest /Users/daniel/Documents/GitHub/myPROJECT/build/jpackage --name myPROJECT --app-version 25.11.03 --app-image /Users/daniel/Documents/GitHub/myPROJECT/build/jpackage/myPROJECT.app --file-associations src/main/resources/associations.properties --app-version 25.11.03 --vendor "My Company" --copyright "My Company" --mac-sign First it creates the app-image and afterwards it creates pkg and dmg and signs it. As you can see in the 3 commands, it uses JDK21. Once I change "jdk-21.jdk" with "jdk-25.jdk" it warns after step 2 already with the following message in German Warnung: Nicht signiertes app-image wird zum Erstellen von signiertem pkg verwendet. It translates to something like: it tries to sign pkg and complains that the app-image is not signed. Hence, somehow step 1 failed already but does not show any error/warning. Please let me know whether the above helps to reproduce the issue. Thanks, -- Daniel On Tue, Nov 4, 2025 at 4:01 PM Daniel Peintner <[email protected]> wrote: > Hi Alexey, > > Thank you for your reply. > I am using the badass runtime plugin which calls jpackage under the hood. > > While trying to create an example project, I noticed that there were some > changes > '--mac-package-identifier' needs to go into imageOptions and > not installerOptions. > see > https://github.com/danielpeintner/Java11Test/commit/742fce0d9e2995554829b6f199f22f0b22a5d385 > > That fixed the problem with jpackage. Anyhow, it still does not work with > JDK25 and macOS signing. > Using the JDK25 seems to need additional options (compared to JDK21). > > With JDK25 and --mac-sign the process no longer opens the KeyChain access > and asks for the credentials. Hence, the image itself is no longer signed > which matches with what I see on the debug console > "non signed app-image used to sign dmg" ... freely translated into > English since I see the German version only > > Therefore, apple's notary service says invalid with the logs like "The > binary is not signed with a valid Developer ID certificate". > > Using the *same* gradle file, switching to JDK21 works without any issues > again. > I will try to investigate further. > > Thanks, > > -- Daniel > > > > > On Mon, Nov 3, 2025 at 7:30 PM Alexey Semenyuk <[email protected]> > wrote: > >> Hi Daniel, >> >> I can not reproduce the issue you experience with jdk25.0.1: >> >> --- >> $ ~/jdk-25.0.1.jdk/Contents/Home/bin/jpackage --input input --dest output >> --type app-image --main-jar hello.jar --main-class >> com.my_domain.project.Hello --mac-package-identifier com.my-domain.project >> $ echo $? >> 0 >> --- >> >> If I run the same command line without ` --mac-package-identifier` option >> it fails as expected: >> --- >> $ ~/jdk-25.0.1.jdk/Contents/Home/bin/jpackage --input input --dest output >> --type app-image --main-jar hello.jar --main-class >> com.my_domain.project.Hello >> Bundler Mac Application Image skipped because of a configuration problem: >> invalid mac bundle identifier [com.my_domain.project]. >> Advice to fix: specify identifier with "--mac-package-identifier". >> --- >> >> The same failure for `--mac-package-identifier com.my_domain.project` >> (with the underscore): >> --- >> $ ~/jdk-25.0.1.jdk/Contents/Home/bin/jpackage --input input --dest output >> --type app-image --main-jar hello.jar --main-class >> com.my_domain.project.Hello --mac-package-identifier com.my_domain.project >> Bundler Mac Application Image skipped because of a configuration problem: >> invalid mac bundle identifier [com.my_domain.project]. >> Advice to fix: specify identifier with "--mac-package-identifier". >> --- >> >> Any chance you accidentally put the string with the underscore instead of >> the hyphen as a value of the `--mac-package-identifier` option on your >> command line? >> >> - Alexey >> >> On 11/3/2025 11:43 AM, Daniel Peintner wrote: >> >> Hi, >> >> I am about to switch a JavaFX project from JDK21 to JDK25 and I noticed a >> problem when running jpackage. >> >> My domain has a hyphen, like in www.my-domain.com >> Hence, my Java package reads like this: com.my_domain.project >> Note: hyphen becomes underscore. >> >> Running vanilla jpackage in JDK21 complained with >> Invalid Mac-Bundle-ID [com.my_domain.project] >> due to the *invalid* underscore and suggests me to use >> "--mac-package-identifier" >> >> Hence, I added --mac-package-identifier com.my-domain.project (with the >> hyphen again) >> All good so far. >> >> Running the same code with JDK25 with the above settings shows the error >> message again >> Invalid Mac-Bundle-ID [com.my_domain.project] >> >> I can add any argument to --mac-package-identifier >> It seems it is simply not taken into account. >> >> I am using JDK 25.0.1 >> >> Is this a known issue with JDK25 and jpackage? >> Is there any other way to make jpackage work? >> >> Thanks, >> >> -- Daniel >> >> >> >>
