当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 19 篇帖子 ]  前往页数 1, 2  下一页
作者 内容
1 楼 
 文章标题 : JDK6/7 在 Ubuntu 7.10 下的错误。
帖子发表于 : 2007-12-05 17:07 
论坛管理员

注册: 2005-03-27 0:06
帖子: 10116
系统: Ubuntu 12.04
送出感谢: 7
接收感谢: 128
如果采用 LC_CTYPE=zh_CN.UTF-8 情况下,部分 swing 界面的java程序会无法启动:

代码:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at com.sun.java.swing.plaf.gtk.GTKLookAndFeel.initSystemColorDefaults(GTKLookAndFeel.java:1267)
        at com.sun.java.swing.plaf.gtk.GTKLookAndFeel.loadStyles(GTKLookAndFeel.java:1509)
        at com.sun.java.swing.plaf.gtk.GTKLookAndFeel.access$000(GTKLookAndFeel.java:37)
        at com.sun.java.swing.plaf.gtk.GTKLookAndFeel$WeakPCL$1.run(GTKLookAndFeel.java:1449)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at com.sun.java.swing.plaf.gtk.GTKLookAndFeel.initSystemColorDefaults(GTKLookAndFeel.java:1267)
        at com.sun.java.swing.plaf.gtk.GTKLookAndFeel.loadStyles(GTKLookAndFeel.java:1509)
        at com.sun.java.swing.plaf.gtk.GTKLookAndFeel.access$000(GTKLookAndFeel.java:37)
        at com.sun.java.swing.plaf.gtk.GTKLookAndFeel$WeakPCL$1.run(GTKLookAndFeel.java:1449)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
JConsole: null
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException
        at javax.swing.MultiUIDefaults.getUIError(MultiUIDefaults.java:117)
        at javax.swing.UIDefaults.getUI(UIDefaults.java:741)
        at javax.swing.UIManager.getUI(UIManager.java:1012)
        at javax.swing.JPanel.updateUI(JPanel.java:109)
        at javax.swing.JPanel.<init>(JPanel.java:69)
        at javax.swing.JPanel.<init>(JPanel.java:92)
        at javax.swing.JPanel.<init>(JPanel.java:100)
        at javax.swing.JRootPane.createGlassPane(JRootPane.java:527)
        at javax.swing.JRootPane.<init>(JRootPane.java:347)
        at javax.swing.JFrame.createRootPane(JFrame.java:260)
        at javax.swing.JFrame.frameInit(JFrame.java:241)
        at javax.swing.JFrame.<init>(JFrame.java:208)
        at sun.tools.jconsole.JConsole.<init>(JConsole.java:96)
        at sun.tools.jconsole.JConsole$6.run(JConsole.java:746)
        at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
        at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
        at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
        at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
        at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
        at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
        at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)



不用考虑升级到最新的 jdk-6u10-ea-bin-b08 ,已经测试还是不行。

有三种解决办法:
1 换为 JDK5
2 修改LookAndFeel: _JAVA_OPTIONS="-Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel"(推荐/不一定有效,有些程序强制性使用系统的风格)
3 修改环境变量为 LC_CTYPE=en_GB.UTF-8 ,可能引发无法输入中文的问题。


最后由 oneleaf 编辑于 2007-12-05 17:51,总共编辑了 2 次

页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-12-05 17:37 
论坛管理员

注册: 2005-03-27 0:06
帖子: 10116
系统: Ubuntu 12.04
送出感谢: 7
接收感谢: 128
即:可以修改 /etc/environment 文件在最后增加上:

AWT_TOOLKIT="MToolkit"
_JAVA_OPTIONS="-Dswing.defaultlaf=javax.swing.plaf.metal.MetalLookAndFeel"


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-12-05 17:48 
论坛管理员

注册: 2005-03-27 0:06
帖子: 10116
系统: Ubuntu 12.04
送出感谢: 7
接收感谢: 128
如果是写程序,最好在程序的main方法里面第一行增加:
try {
UIManager.setLookAndFeel(new javax.swing.plaf.metal.MetalLookAndFeel());
} catch (UnsupportedLookAndFeelException ex) {
}


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-12-06 9:20 

注册: 2007-07-10 18:40
帖子: 8
送出感谢: 0 次
接收感谢: 0 次
太感谢了,这问题困扰我很久了~~


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2007-12-09 23:29 
头像

注册: 2007-03-15 23:44
帖子: 377
送出感谢: 0 次
接收感谢: 1
不知道应该谁适应谁,就像JDK7下 eclipse起不来一样, SUN在想什么呢?用IBM的JDK他就高兴了?


_________________
For the love of PL7s
图片
图片


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2007-12-16 15:56 
头像

注册: 2007-06-16 11:46
帖子: 15
送出感谢: 0 次
接收感谢: 0 次
对SUN有时真的很无语,自己的孩子已经不是自己的了。


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2008-01-21 16:19 
头像

注册: 2007-06-16 16:36
帖子: 38
地址: #17 city
送出感谢: 0 次
接收感谢: 0 次
哎,啥时候能解决呀。。。。。。。


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2008-01-21 16:26 
头像

注册: 2007-10-29 22:12
帖子: 5353
地址: 江苏南京
系统: OSX 10.9 + Ub 1304
送出感谢: 0 次
接收感谢: 5
sun的java怎么说好呢,其实如果能把swing这块做好也不是没有可能的,写程序感觉swing的方式还是不错的,但是风格这块的实现逻辑还是有问题,又想兼容这个,又想兼容那个,其实倒不如把自己的metal固定死了好好搞

不光是这个,还有一个字体的问题,说起来,都是要做兼容性惹得祸


_________________
佛经说,人有八苦: 生、老、病、死、求不得、怨憎、爱别离、五阴盛 故我苦!
圣经说,人有七罪: 饕餮、贪婪、懒惰、淫欲、傲慢、嫉妒和暴怒  故我有罪!

我这篇帖子里面没有任何攻击我们伟大的中华人民共和国政府和任劳任怨的人民公仆(和本论坛高素质的版主)的文字和含义;

特此声明!

有些事,我们明知道是错的,也要去坚持,因为不甘心;有些人,我们明知道是爱的,也要去放弃,因为没结局;有时候,我们明知道没路了,却还在前行,因为习惯了。

欢迎来我的新浪微博@me


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2008-02-19 16:28 

注册: 2008-02-19 16:19
帖子: 7
送出感谢: 0 次
接收感谢: 0 次
:idea:
有用啊


页首
 用户资料  
 
10 楼 
 文章标题 :
帖子发表于 : 2008-03-11 14:44 
论坛管理员

注册: 2005-03-27 0:06
帖子: 10116
系统: Ubuntu 12.04
送出感谢: 7
接收感谢: 128
代码:
Locking assertion failure.  Backtrace:
#0 /usr/lib/libxcb-xlib.so.0 [0xb53d5767]
#1 /usr/lib/libxcb-xlib.so.0(xcb_xlib_unlock+0x31) [0xb53d58b1]
#2 /usr/lib/libX11.so.6(_XReply+0xfd) [0xb54272ed]
#3 /usr/lib/jvm/java-6-sun-1.6.0.03/jre/lib/i386/xawt/libmawt.so [0xb552264e]
#4 /usr/lib/jvm/java-6-sun-1.6.0.03/jre/lib/i386/xawt/libmawt.so [0xb5500f97]
#5 /usr/lib/jvm/java-6-sun-1.6.0.03/jre/lib/i386/xawt/libmawt.so [0xb5501248]
#6 /usr/lib/jvm/java-6-sun-1.6.0.03/jre/lib/i386/xawt/libmawt.so(Java_sun_awt_X11GraphicsEnvironment_initDisplay+0x2f) [0xb550154f]
#7 [0xb5c8166e]
#8 [0xb5c79edd]
#9 [0xb5c79edd]
#10 [0xb5c77243]
#11 /usr/lib/jvm/java-6-sun-1.6.0.03/jre/lib/i386/client/libjvm.so [0x620bc6d]
#12 /usr/lib/jvm/java-6-sun-1.6.0.03/jre/lib/i386/client/libjvm.so [0x630a828]
#13 /usr/lib/jvm/java-6-sun-1.6.0.03/jre/lib/i386/client/libjvm.so [0x620bb00]
#14 /usr/lib/jvm/java-6-sun-1.6.0.03/jre/lib/i386/client/libjvm.so(JVM_DoPrivileged+0x34b) [0x62619bb]
#15 /usr/lib/jvm/java-6-sun-1.6.0.03/jre/lib/i386/libjava.so(Java_java_security_AccessController_doPrivileged__Ljava_security_PrivilegedAction_2+0x3d) [0xb7c9296d]
#16 [0xb5c8166e]
#17 [0xb5c79d77]
#18 [0xb5c77243]
#19 /usr/lib/jvm/java-6-sun-1.6.0.03/jre/lib/i386/client/libjvm.so [0x620bc6d]
java: xcb_xlib.c:82: xcb_xlib_unlock: Assertion `c->xlib.lock' failed.


暂时的解决方法:
代码:
sudo sed -i 's/XINERAMA/FAKEEXTN/g' /usr/lib/jvm/java-6-sun/jre/lib/i386/xawt/libmawt.so


另一个方法就是添加
代码:
export LIBXCB_ALLOW_SLOPPY_LOCK=1


页首
 用户资料  
 
11 楼 
 文章标题 :
帖子发表于 : 2008-03-18 14:16 
头像

注册: 2006-12-01 22:28
帖子: 295
送出感谢: 0 次
接收感谢: 0 次
export LIBXCB_ALLOW_SLOPPY_LOCK=1
这句加在那个文件里?


页首
 用户资料  
 
12 楼 
 文章标题 :
帖子发表于 : 2008-03-18 17:06 
论坛管理员

注册: 2005-03-27 0:06
帖子: 10116
系统: Ubuntu 12.04
送出感谢: 7
接收感谢: 128
why_790721 写道:
export LIBXCB_ALLOW_SLOPPY_LOCK=1
这句加在那个文件里?
程序的启动脚本。


页首
 用户资料  
 
13 楼 
 文章标题 :
帖子发表于 : 2008-03-18 17:07 
论坛管理员

注册: 2005-03-27 0:06
帖子: 10116
系统: Ubuntu 12.04
送出感谢: 7
接收感谢: 128
netbeans 无法输入/键盘失去响应,是Java6 bug,双击源代码窗口,最大化,再双击,恢复即可继续输入。


页首
 用户资料  
 
14 楼 
 文章标题 :
帖子发表于 : 2008-03-18 18:17 
头像

注册: 2006-10-27 11:14
帖子: 1140
地址: 悉尼
送出感谢: 0 次
接收感谢: 0 次
sun不知道在搞什么。。。


页首
 用户资料  
 
15 楼 
 文章标题 :
帖子发表于 : 2008-03-19 12:10 
头像

注册: 2006-12-01 22:28
帖子: 295
送出感谢: 0 次
接收感谢: 0 次
oneleaf 写道:
why_790721 写道:
export LIBXCB_ALLOW_SLOPPY_LOCK=1
这句加在那个文件里?
程序的启动脚本。


能告诉我具体的步骤吗?
我现在用j2me WTK2.5.2和NetBeans制作手机游戏,但是原来能运行的程序全都运行不了,提示:
WTK2.5.2/bin/preverify": java.io.IOException: error=2, No such file or directory
可这个目录明明有这个文件呀,这是怎么回事?
我现在没时间研究LINUX系统,只想快点把JAVA鼓捣好,尽快能使用!


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 19 篇帖子 ]  前往页数 1, 2  下一页

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 1 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译