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

Alexey Semenyuk alexey.semenyuk at oracle.com
Tue Nov 4 16:30:11 UTC 2025


Hi Daniel,

On 11/4/2025 10:01 AM, Daniel Peintner 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!JboKeapbys_zvoKtDq8PJD1LD7_jTnfgpRoEKxXwGARA-sZKB8VR-82CozmfGafHgKQvfLrODMHA2f2-bIJXfhDZBpgo-GY$>
>
> 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).
Interesting. Looks like a bug in jdk25's jpackage.

>
> With JDK25 and --mac-sign the process no longer opens the KeyChain 
> access and asks for the credentials.
Can you run jpackage with the "--verbose" option and share logs of 
running the jdk25 and jdk21 jpackage? This may help us understand why 
behavior changed.

- Alexey

> 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!JboKeapbys_zvoKtDq8PJD1LD7_jTnfgpRoEKxXwGARA-sZKB8VR-82CozmfGafHgKQvfLrODMHA2f2-bIJXfhDZ7KlfIEw$>
>>     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/bbe16f41/attachment-0001.htm>


More information about the core-libs-dev mailing list