<div dir="ltr"><div>Hi Alexey,</div><div><br></div><div>Thank you for your reply.</div><div><br></div><div class="gmail_quote gmail_quote_container"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>Does the warning message resembles the one at [1]?<br></div></blockquote><div><br></div><div>Yes, exactly.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
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.<br></div></blockquote><div><br></div><div>I updated a demo/test project to demonstrate the problem. You can now also try it yourself.</div><div><a href="https://github.com/danielpeintner/Java11Test/tree/non-modular">https://github.com/danielpeintner/Java11Test/tree/non-modular</a></div><div><br></div><div>There you can also find the 3 jpackage commands I use</div><div></div><div><a href="https://github.com/danielpeintner/Java11Test/blob/fdefe61e7e99747d6a62ac4b0a778fb0151b22e4/build.gradle#L148-L151">https://github.com/danielpeintner/Java11Test/blob/fdefe61e7e99747d6a62ac4b0a778fb0151b22e4/build.gradle#L148-L151</a></div><div><br></div><div>W.r.t. sharing the logs file. I will send them to you *privately*. I quickly scanned them and I would rather not have them on the reflector.</div><div><br></div><div>The weird thing is, that the difference seems to happen in step 1. Anyhow, running these commands the difference is also somehow in step 2 where</div><div>* JDK21 makes popping up a dialog which asks me whether I want to allow access to my keys</div><div>* JDK25 does not need any interaction</div><div><br></div><div>I hope this helps to find the "difference".</div><div><br></div><div>Thanks,</div><div><br></div><div>-- Daniel</div><div><br></div><div><br></div><div><br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div>
<br>
[1]
<a href="https://github.com/openjdk/jdk/blob/4c6af03f81e068a98b8f4628b96682a54f3946da/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/MacResources_de.properties#L85" target="_blank">https://github.com/openjdk/jdk/blob/4c6af03f81e068a98b8f4628b96682a54f3946da/src/jdk.jpackage/macosx/classes/jdk/jpackage/internal/resources/MacResources_de.properties#L85</a><br>
<br>
- Alexey<br>
<br>
<div>On 11/4/2025 12:32 PM, Daniel Peintner
wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">
<div>
Hi Alexey, all,</div>
<div><br>
</div>
<div>I nailed down the problem to the following, which seems to
differ between JDK25 and JDK21.</div>
<div>Maybe this helps to reproduce the issue.</div>
<div><br>
</div>
<div>jpackage is called 3 times in my process</div>
<div>
<ol>
<li>/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<br>
<br>
</li>
<li>/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<br>
<br>
</li>
<li>/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</li>
</ol>
<div><br>
</div>
<div>First it creates the app-image and afterwards it creates
pkg and dmg and signs it.</div>
<div><br>
</div>
As you can see in the 3 commands, it uses JDK21.<br>
Once I change "jdk-21.jdk" with "jdk-25.jdk" it warns after
step 2 already with the following message in German<br>
<br>
Warnung: Nicht signiertes app-image wird zum Erstellen von
signiertem pkg verwendet.</div>
<div>
<div><br>
</div>
<div>It translates to something like: it tries to sign pkg and
complains that the app-image is not signed.</div>
<div>Hence, somehow step 1 failed already but does not show
any error/warning.</div>
<div><br>
</div>
<div>Please let me know whether the above helps to reproduce
the issue.</div>
<div><br>
</div>
<div>Thanks,</div>
<div><br>
</div>
<div>-- Daniel</div>
<div><br>
</div>
</div>
<div><br>
</div>
</div>
<br>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Tue, Nov 4, 2025 at 4:01 PM
Daniel Peintner <<a href="mailto:daniel.peintner@gmail.com" target="_blank">daniel.peintner@gmail.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div dir="ltr">
<div>Hi Alexey,</div>
<div><br>
</div>
<div>Thank you for your reply.</div>
<div>I am using the badass runtime plugin which calls
jpackage under the hood.</div>
<div><br>
</div>
<div>While trying to create an example project, I noticed
that there were some changes </div>
<div>'--mac-package-identifier' needs to go
into imageOptions and not installerOptions.</div>
<div>see <a href="https://urldefense.com/v3/__https://github.com/danielpeintner/Java11Test/commit/742fce0d9e2995554829b6f199f22f0b22a5d385__;!!ACWV5N9M2RV99hQ!PyybrFqsPzI4Zo0L-pavG2mZkHToVTLkE6V8ezQdZYV20QXukxrjgODsksKVmoxUVoJW9hQTe2Z1vC1xwikUQGK-K4xefEo$" target="_blank">https://github.com/danielpeintner/Java11Test/commit/742fce0d9e2995554829b6f199f22f0b22a5d385</a></div>
<div><br>
</div>
<div>That fixed the problem with jpackage. Anyhow, it still
does not work with JDK25 and macOS signing.</div>
<div>Using the JDK25 seems to need additional options
(compared to JDK21).</div>
<div><br>
</div>
<div>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</div>
<div>"non signed app-image used to sign dmg" ... freely
translated into English since I see the German version
only</div>
<div><br>
</div>
<div>Therefore, apple's notary service says invalid with the
logs like "The binary is not signed with a valid Developer
ID certificate".</div>
<div><br>
</div>
<div>Using the *same* gradle file, switching to JDK21 works
without any issues again.</div>
<div>I will try to investigate further.</div>
<div><br>
</div>
<div>Thanks,</div>
<div><br>
</div>
<div>-- Daniel</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div><br>
</div>
<div class="gmail_quote">
<div dir="ltr" class="gmail_attr">On Mon, Nov 3, 2025 at
7:30 PM Alexey Semenyuk <<a href="mailto:alexey.semenyuk@oracle.com" target="_blank">alexey.semenyuk@oracle.com</a>>
wrote:<br>
</div>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<div> Hi Daniel,<br>
<br>
I can not reproduce the issue you experience with
jdk25.0.1:<br>
<br>
---<br>
$ ~/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<br>
$ echo $?<br>
0<br>
---<br>
<br>
If I run the same command line without `
--mac-package-identifier` option it fails as expected:<br>
---<br>
$ ~/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<br>
Bundler Mac Application Image skipped because of a
configuration problem: invalid mac bundle identifier
[com.my_domain.project].<br>
Advice to fix: specify identifier with
"--mac-package-identifier".<br>
---<br>
<br>
The same failure for `--mac-package-identifier
com.my_domain.project` (with the underscore):<br>
---<br>
$ ~/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<br>
Bundler Mac Application Image skipped because of a
configuration problem: invalid mac bundle identifier
[com.my_domain.project].<br>
Advice to fix: specify identifier with
"--mac-package-identifier".<br>
---<br>
<br>
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?<br>
<br>
- Alexey<br>
<br>
<div>On 11/3/2025 11:43 AM, Daniel Peintner wrote:<br>
</div>
<blockquote type="cite">
<div dir="ltr">Hi,<br>
<br>
I am about to switch a JavaFX project from JDK21
to JDK25 and I noticed a problem when running
jpackage.<br>
<br>
My domain has a hyphen, like in <a href="https://urldefense.com/v3/__http://www.my-domain.com__;!!ACWV5N9M2RV99hQ!PyybrFqsPzI4Zo0L-pavG2mZkHToVTLkE6V8ezQdZYV20QXukxrjgODsksKVmoxUVoJW9hQTe2Z1vC1xwikUQGK-KS5-g-8$" target="_blank">www.my-domain.com</a><br>
Hence, my Java package reads like this:
com.my_domain.project<br>
Note: hyphen becomes underscore.<br>
<br>
Running vanilla jpackage in JDK21 complained with<br>
Invalid Mac-Bundle-ID [com.my_domain.project]<br>
<div>due to the *invalid* underscore and suggests
me to use "--mac-package-identifier"</div>
<div><br>
</div>
<div>Hence, I added --mac-package-identifier
com.my-domain.project (with the hyphen again)</div>
<div>All good so far.</div>
<div><br>
</div>
<div>Running the same code with JDK25 with the
above settings shows the error message again</div>
<div> Invalid Mac-Bundle-ID
[com.my_domain.project] </div>
<div><br>
</div>
<div>I can add any argument to
--mac-package-identifier</div>
<div>It seems it is simply not taken into account.</div>
<div><br>
</div>
<div>I am using JDK 25.0.1</div>
<div><br>
</div>
<div>Is this a known issue with JDK25 and
jpackage?</div>
<div>Is there any other way to make jpackage work?</div>
<div><br>
</div>
<div>Thanks,</div>
<div><br>
</div>
<div>-- Daniel</div>
<div><br>
</div>
<div><br>
</div>
</div>
</blockquote>
<br>
</div>
</blockquote>
</div>
</div>
</blockquote>
</div>
</blockquote>
<br>
</div>
</blockquote></div></div>