我正在使用库native-tray-adapter,它需要库jni-utils-1.0确保Ubuntu中的图标没有透明背景。JVM在eclipse中运行,使用SIGSEGV在外面崩溃
我的程序用关闭菜单项创建菜单关闭程序。当我在eclipse中运行该程序时,它工作正常,我可以与该图标进行交互,而不会出现任何问题。当我将文件导出到可运行jar文件时,当我尝试关闭程序时,java虚拟机崩溃,程序可以通过右键单击显示菜单,但是单击菜单会导致崩溃。
# A fatal error has been detected by the Java Runtime Environment:
#
# SIGSEGV (0xb) at pc=0xb6d3f746, pid=6193, tid=2121870192
这发生在sun和open运行环境中。我也尝试将虚拟机作为客户端和可可运行,但在客户端中,问题相同,但是在可可虚拟机中没有崩溃,但它没有对与图标的任何交互作出正确反应。
当我运行虚拟机的说法-Xcheck:JNI我得到的错误信息:
WARNING in native method: JNI call made with exception pending
FATAL ERROR in native method: Bad global or local ref passed to JNI
Aborted
我认为问题在于然而,JNI-utils的图书馆我不明白为什么日食能够毫无问题地运行程序,然后在环境之外崩溃。
我已经检查了虚拟机的目录在eclipse>帮助>关于>安装的详情>配置和该命令的目录匹配
$ which java
一些额外的细节
os: ubuntu 11.10
eclipse version: 3.7.0
eclipse library: java6-openjdk
java version: "1.6.0_26"
如果需要更多信息,随时提问。有错误日志,但我不知道这将是多么有用,以及我需要发布哪些部分。值得赞赏的是,为什么会出现这种情况,一种使虚拟机与eclipse相同的方法,或者使用标准Java TrayIcon去除ubuntu中显示的白色背景的另一种方法,我们将不胜感激。
编辑
我发现一个问题,我出口的jar文件的方式撒谎。当我在eclipse罐出口选自:
提取所需的库到生成的JAR
或
拷贝所需的库到子文件夹旁边生成的JAR
我能够正确地与图标进行交互。我仍然不完全确定问题是什么,因为我认为链接仍然表现出相同的独立库打包在JAR内部或外部。
这是eclipse包装中的错误还是存在其他一些问题?
当程序试图读取或者被分配给它,或编写只能读取存储器中的存储器外部写时生成此信号:> -
欢呼声
你的类路径 – 2012-02-27 21:05:30