我正在开发一个 JavaFX 8 应用程序,用于通过 Windows 虚拟 Com-Port 与物理设备进行通信。
- 视窗 7/10 64 位
- IDE Eclipse 火星
- 蚂蚁
- InnoSetup 5.5.6
- JDK 1.8.0_121
- jssc 2.7.0 - 用于串口通信
我正在使用 Ant 和 InnoSetup 构建本机安装程序。安装后,应用程序可以通过 Windows 7 和 10 上的本机启动器 (App.exe) 启动。
在 Windows 7 上,我可以打开 Com-Port,应用程序运行良好。
一旦我尝试在 Windows 10 上打开 Com-Port,jvm 就会崩溃并显示以下消息:
#
# A fatal error has been detected by the Java Runtime Environment:
#
# EXCEPTION_ACCESS_VIOLATION (0xc0000005) at pc=0x000000006ec4b5bb, pid=1632, tid=0x0000000000001898
#
# JRE version: Java(TM) SE Runtime Environment (8.0_121-b13) (build 1.8.0_121-b13)
# Java VM: Java HotSpot(TM) 64-Bit Server VM (25.121-b13 mixed mode windows-amd64 compressed oops)
# Problematic frame:
# C [jSSC-2.7_x86_64.dll+0xb5bb]
#
# Failed to write core dump. Minidumps are not enabled by default on client versions of Windows
#
# If you would like to submit a bug report, please visit:
# http://bugreport.java.com/bugreport/crash.jsp
# The crash happened outside the Java Virtual Machine in native code.
# See problematic frame for where to report the bug.
#
通过双击 App.jar 而不是 App.exe 启动应用程序时,可以在 Windows 10 上打开虚拟 Com-Port。
本机启动器 (App.exe) 和 jar (App.jar) 都使用系统 jre。
我该怎么做才能使应用程序(由 App.exe 启动)在两个平台上运行?
请帮忙!