posts - 72, comments - 66, trackbacks - 0, articles - 0

linux(ubuntu)下使用jconsole

Posted on 2009-03-24 11:45 Fingki.li 阅读(6266) 评论(2)  编辑  收藏 所属分类: About linux
从JDK5开始就已经增加了对VM的监控功能jconsole,JDK1.6也有了进一步的改进。
然而对linux特别是Ubuntu用户来说,会碰到一些小问题。
在终端进入java_home/bin目录下,
# jconsole
结果报错如下:
Exception in thread "AWT-EventQueue-0" java.lang.NullPointerException

原因就是在ubuntu下用java写Swing应用程序时不能使用SystemLookAndFeel
实际上出现这个问题是因为swing的默认laf采用systemlaf,而Ubuntu里却没有定义这个laf。
一种很方便的解决方法就是把语言环境改成英文:
# export LANG=en
但对中文用户很不方便(尽管swing程序可以运行)。
另一种方法就是程序启动时加上jvm运行时参数,比如 运行jconsole :
# jconsole -J-Dswing.systemlaf=javax.swing.plaf.metal.MetalLookAndFeel

另外,jconsole对于hostname也有要求,如果执行:
# hostname -i
显时 127.0.0.1,则需要在 /etc/hosts中把127.0.0.1改成机器的外网IP。
这下,我们就又多了一个jvm分析的利器。

Feedback

# re: linux(ubuntu)下使用jconsole[未登录]  回复  更多评论   

2009-03-24 15:05 by tester
把jdk升级到1.6.0.11以上就没有这个问题了。

# re: linux(ubuntu)下使用jconsole  回复  更多评论   

2009-03-24 17:24 by Fingki.li
@tester
看来sun.com对这个问题还算重视。

只有注册用户登录后才能发表评论。


网站导航: