您的位置:首页 > 其它

The SWT FAQ 中文(9)

2007-06-19 15:53 351 查看
(英文原文:http://www.eclipse.org/swt/faq.php)
翻译:Frank(frank(at)zijinshi.cn)
版本:Version 0.9
The SWT FAQ




17.问:为什么出现了这个错误信息:"java.lang.NoClassDefFoundError: org/eclipse/swt/internal/XXX/OS."?答:在某些平台上,比如 GTK上,SWT 被划分成了好几个jar。所以,你还得确保所有需要的jar都在classpath中列出来了。这些必需的jar是:

swt.jar (所有的平台)

swt-pi.jar (某些平台比如说 GTK 和 Carbon)

swt-mozilla.jar (用于 GTK 和 Motif 的浏览器组件)

swt-gtk.jar (适用于Linux Motif)

18.问: 为什么出现了这个错误信息:"java.lang.UnsatisfiedLinkError: no swt-win32-3232 in java.library.path."?答:你需要把SWT JNI 库(它允许java使用本地组件)放在一个Java虚拟机能够找到它的地方。
SWT JNI libraries包含在 SWT 下载文件中。

可以通过以下几种方式让Java应用程序知道库的路径。

在虚拟机家载参数中设置库的路径。
在Launch Configuration Dialog 中,选择 Arguments 页面,在 VM 参数域输入 -Djava.library.path={runtime-library-path} ,这儿 runtime-library-path 就是包含本地代码库的目录的全路经。

这种方案意味着SWT库不得不手动的加到每个使用SWT的项目中去。



在环境变量中设置库的路径。
对于Windows系统来说,在PATH环境变量中加上上面提到的runtime-library-path就可以了。
在Win 9X 中,你需要修改 Autoexec.bat 文件。
在 NT 或 2K 机器中,你可以通过 My Computer > Properties > Advanced > Environment Variables 编辑变量。

在linux/unix 系统中,修改 LD_LIBRARY_PATH 变量来包含runtime-library-path。



把 SWT 库复制到一个已经是Java库路经的目录中去。比如说,jre/bin目录。
这个解决方案的缺点是,每次你升级eclipse之后,你还得记住复制本地代码库。



自Eclipse 3.1开始,SWT 插件 中就在SWT.jar中加入了JNI库。它支持OSGi 和 Eclipse RCP。如果你使用了这个插件,你必须把库包含到路径中去。



(待续…)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: