On Tue, 15 Jul 2025 02:15:56 GMT, Alexander Matveev <almat...@openjdk.org> 
wrote:

>> Maybe run jpackage with `--verbose` flag?
>
> [19:14:45.620] jdk.jpackage.internal.model.PackagerException: 
> java.lang.ClassCastException: class com.sun.proxy.jdk.proxy1.$Proxy0 cannot 
> be cast to class jdk.jpackage.internal.MacApplicationLayout 
> (com.sun.proxy.jdk.proxy1.$Proxy0 is in module jdk.proxy1 of loader 'app'; 
> jdk.jpackage.internal.MacApplicationLayout is in module jdk.jpackage of 
> loader 'app')
>       at 
> jdk.jpackage/jdk.jpackage.internal.PackagingPipeline.execute(PackagingPipeline.java:487)
>       at 
> jdk.jpackage/jdk.jpackage.internal.PackagingPipeline.execute(PackagingPipeline.java:68)
>       at 
> jdk.jpackage/jdk.jpackage.internal.PackagerBuilder.execute(PackagerBuilder.java:67)
>       at 
> jdk.jpackage/jdk.jpackage.internal.MacDmgPackager$Builder.execute(MacDmgPackager.java:81)
>       at 
> jdk.jpackage/jdk.jpackage.internal.MacDmgBundler.execute(MacDmgBundler.java:80)
>       at 
> jdk.jpackage/jdk.jpackage.internal.Arguments.executeBundler(Arguments.java:741)
>       at 
> jdk.jpackage/jdk.jpackage.internal.Arguments.generateBundle(Arguments.java:702)
>       at 
> jdk.jpackage/jdk.jpackage.internal.Arguments.processArguments(Arguments.java:553)
>       at jdk.jpackage/jdk.jpackage.main.Main.execute(Main.java:93)
>       at jdk.jpackage/jdk.jpackage.main.Main.main(Main.java:54)
> Caused by: java.lang.ClassCastException: class 
> com.sun.proxy.jdk.proxy1.$Proxy0 cannot be cast to class 
> jdk.jpackage.internal.MacApplicationLayout (com.sun.proxy.jdk.proxy1.$Proxy0 
> is in module jdk.proxy1 of loader 'app'; 
> jdk.jpackage.internal.MacApplicationLayout is in module jdk.jpackage of 
> loader 'app')
>       at 
> jdk.jpackage/jdk.jpackage.internal.MacPackagingPipeline.signApplicationBundle(MacPackagingPipeline.java:367)
>       at 
> jdk.jpackage/jdk.jpackage.internal.PackagingPipeline$DefaultTaskContext.execute(PackagingPipeline.java:571)
>       at 
> jdk.jpackage/jdk.jpackage.internal.MacPackagingPipeline$TaskContextProxy.execute(MacPackagingPipeline.java:541)
>       at 
> jdk.jpackage/jdk.jpackage.internal.PackagingPipeline.lambda$createTask$0(PackagingPipeline.java:604)
>       at 
> jdk.jpackage/jdk.jpackage.internal.pipeline.TaskPipelineBuilder$SequentialWrapperTask.call(TaskPipelineBuilder.java:130)
>       at 
> jdk.jpackage/jdk.jpackage.internal.pipeline.TaskPipelineBuilder$SequentialWrapperTask.call(TaskPipelineBuilder.java:121)
>       at 
> jdk.jpackage/jdk.jpackage.internal.PackagingPipeline.execute(PackagingPipeline.java:480)
>       ... 9 more
> java.lang.ClassCastException: class com.sun.proxy.jdk.proxy1.$Proxy0 cannot 
> be cast to class jdk.jpackage.internal.MacApplicationLayout 
> (com.sun.proxy.jdk.proxy1.$Proxy0 is in module jdk.proxy1 of loader 'a...

Try to change the signature from

private static void signApplicationBundle(AppImageBuildEnv<MacApplication, 
MacApplicationLayout> env) throws IOException


to

private static void signApplicationBundle(AppImageBuildEnv<MacApplication, 
AppImageLayout> env) throws IOException


I guess if you change the signature or the original `sign()` from:

void sign(AppImageBuildEnv<MacApplication, MacApplicationLayout> env) throws 
IOException

to

void sign(AppImageBuildEnv<MacApplication, AppImageLayout> env) throws 
IOException

and use it instead of `signRuntimeBundle()` and `signApplicationBundle()` it 
will work too.

-------------

PR Review Comment: https://git.openjdk.org/jdk/pull/26173#discussion_r2206154942

Reply via email to