JavaFX Windows 10本机捆绑包部署 - 异常访问冲突

时间:2017-03-08 18:43:51

标签: java windows javafx deployment self-contained

我正在开发一个JavaFX 8应用程序,用于通过Windows虚拟Com-Port与物理设备进行通信。

  • Windows 7/10 64Bit
  • IDE Eclipse Mars
  • 蚂蚁
  • 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启动)在两个平台上运行?

请帮忙!

1 个答案:

答案 0 :(得分:1)

崩溃似乎发生在本机代码" C [jSSC-2.7_x86_64.dll + 0xb5bb]"在jSSC-2.7_x86_64.dll文件中,可能是因为api被调用到这个库,检查你的程序。 EXCEPTION_ACCESS_VIOLATION表示您的代码尝试访问其没有读取权限的内存位置(0xc0000005)

由于程序在Windows 7上运行正常,请检查Windows 10的兼容串行端口驱动程序。崩溃可能是由于驱动程序不匹配