[External] : Re: [jpackage] JDK25 no longer takes into account --mac-package-identifier

Alexey Semenyuk alexey.semenyuk at oracle.com
Tue Nov 4 17:53:13 UTC 2025


Hi Daniel,

Does the warning message resembles the one at [1]?

I think your evaluation that the step 1 failed is correct. I'd suggest 
adding "--verbose" option to the step 1 command line to get more details.

[1] 
https://github.com/openjdk/jdk/blob/4c6af03f81e068a98b8f4628b96682a54f3946da/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/MacResources_de.properties#L85

- Alexey

On 11/4/2025 12:32 PM, Daniel Peintner wrote:
> 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 
> <daniel.peintner at gmail.com> 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
>     <https://urldefense.com/v3/__https://github.com/danielpeintner/Java11Test/commit/742fce0d9e2995554829b6f199f22f0b22a5d385__;!!ACWV5N9M2RV99hQ!PyybrFqsPzI4Zo0L-pavG2mZkHToVTLkE6V8ezQdZYV20QXukxrjgODsksKVmoxUVoJW9hQTe2Z1vC1xwikUQGK-K4xefEo$>
>
>     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
>     <alexey.semenyuk at oracle.com> 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
>>         <https://urldefense.com/v3/__http://www.my-domain.com__;!!ACWV5N9M2RV99hQ!PyybrFqsPzI4Zo0L-pavG2mZkHToVTLkE6V8ezQdZYV20QXukxrjgODsksKVmoxUVoJW9hQTe2Z1vC1xwikUQGK-KS5-g-8$>
>>         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
>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/core-libs-dev/attachments/20251104/0368d34e/attachment-0001.htm>


More information about the core-libs-dev mailing list