[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