扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
1、SWT程序的开发
用eclipse开发SWT程序需要用到org.eclipse.swt包中的类,所以在构建路径中要把org.eclipse.swt_3.x.x.jar加进去。
小程序代码如下:
实现的是一个按钮和文本框显示,点击按钮在文本框中显示内容。
但是运行时仍然会抛出java.lang.UnsatisfiedLinkError: no swt-win32-3236 in java.library.path异常,这是因为SWT使用的JNI技术需要通过dll提供的接口访问windows本地API,我们需要使java程序在启动的时候即能够访问它们,你可以有多种办法实现这个目的:
a>最简单的办法就是直接把这几个文件拷贝到你jdk的bin目录下。
b>你也可以设定环境变量,在PATH中加入这几个dll文件的目录。
c>你还可以在运行程序的时候指定java.library.path为这几个dll所在的目录,在eclipse中,如果你打开Help菜单中About Eclipse Platform,然后在出现的对话框中选择configuration details按钮,你可以在接下来出现的对话框中找到java.library.path。
配置java.library.path你还有另外一种办法,就是在运行程序的时候,从Run菜单中选择Run As..而不是Run As Java Application,填写好必要的其他参数以后打开Argument选项卡,然后在VM Argument输入框中填写该参数为dll文件的路径:-Djava.library.path=E:\EJBTEST\test\lib(我的dll文件都在该目录下)。
通过以上工作,你就可以编写和运行SWT程序了。
2、SWT程序的打包
程序开发好之后,要把程序发布成独立的可执行文件,要先导出成jar文件:具体导出步骤就不说了,第一次
导出时选生成清单文件,然后提取导出的清单文件MANIFEST.MF;修改清单文件内容为:
Manifest-Version: 1.0
Class-Path: ./lib/org.eclipse.core.runtime_3.2.0.v20060603.jar
./lib/org.eclipse.swt.win32.win32.x86_3.2.2.v3236.jar
Main-Class: com.plugins.SWTtest(注意":"后面都有一个空格);然后再一次将程序导出jar文件,这次选择修改后的清单文件。
在导出目录新建lib目录,将org.eclipse.core.runtime_3.2.0.v20060603.jar和
org.eclipse.swt.win32.win32.x86_3.2.2.v3236.jar两个包考到lib目录下,并将
org.eclipse.swt.win32.win32.x86_3.2.2.v3236.jar中的swt-win32-3236.dll解压到导出目录中;将导出的jar文件用javaw运行,程序正常执行,大功告成。 |
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者