英文:
EXCEPTION_ACCESS_VIOLATION after build a windows self-contained application with jdeps + jlink + jpackage
问题
我正在尝试使用 jdeps
+ jlink
+ jpackage
构建一个适用于 Windows
的捆绑包(独立应用程序)。
在 Mac 上,使用相同的步骤,我成功地创建了一个完全可用的自包含的 ".app",用于此项目 graph-editor,参考了 JPackageScriptFX,通过结合使用 maven
和一个使用 jdeps
+ jlink
+ jpackage
的脚本。
我期望在安装了 wix 3.x 之后,相同的 jdeps
+ jlink
+ jpackage
配置也可以在 Windows 上运行。
该过程可以正常运行并生成一个安装程序,但不幸的是,当我启动 ".exe" 文件时出现以下错误。
- 我使用的配置的更多细节可以在 这里 找到。
- 我使用的 "bat" 脚本是这个:build_app.bat。
- 在 Windows 上运行
maven install
命令在 主项目 上可以重现这个问题。
#
# Java Runtime Environment 发生严重错误:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005),位于 pc=0x0000000000000000,pid=16672,tid=5124
#
# JRE 版本:(15.0+36) (构建 )
# Java VM:OpenJDK 64 位 Server VM (15+36,mixed mode,tiered,compressed oops,g1 gc,windows-amd64)
# 有问题的框架:
# C 0x0000000000000000
#
# 在客户端版本的 Windows 上,默认情况下不会写入核心转储。小转储在默认情况下不在启用状态
完整的 ".log" 打印可以在 这里 找到。
英文:
I'm trying to build a bundle (self-contained app) for windows
using jdeps
+ jlink
+ jpackage
.
On mac, with the same procedure, I managed to create (following JPackageScriptFX as reference) a fully working self-contained ".app" for this project graph-editor through a combination of maven
and a script which uses jdeps
+ jlink
+ jpackage
.
I expected that the same configurations for jdeps
+ jlink
+ jpackage
would have worked on windows after the installation of wix 3.x.
The procedure works fine and produces an installer, but unfortunately I get the error below when I launch the ".exe" file.
- More details about my configurations that I used can be found here.
- The "bat" script that I used is this one: build_app.bat.
- Running a
maven install
on the main project on a windows it's possible to replicate the problem.
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x0000000000000000, pid=16672, tid=5124
#
# JRE version: (15.0+36) (build )
# Java VM: OpenJDK 64-Bit Server VM (15+36, mixed mode, tiered, compressed oops, g1 gc, windows-amd64)
# Problematic frame:
# C 0x0000000000000000
#
# No core dump will be written. Minidumps are not enabled by default on client versions of Windows
#
The full ".log" print can be found here.
答案1
得分: 2
从{您的应用程序路径}/runtime/bin/
复制zip.dll
到{您的应用程序路径}
。
英文:
Copy zip.dll
from {your app path}/runtime/bin/
to {your app path}
.
答案2
得分: 1
我不知道这个解决方案是否适用于其他遇到相同问题的人,但对我来说,将使用的JDK简单切换到Liberica JDK就可以了。
英文:
I don't know if this solution will fit any other person who will meet the same problem, but for me it was fine to simply switch the JDK used to a Liberica JDK.
通过集体智慧和协作来改善编程学习和解决问题的方式。致力于成为全球开发者共同参与的知识库,让每个人都能够通过互相帮助和分享经验来进步。
评论