
如果您想要一个可以在不同平台(Win / Mac / Linux / * nix)或体系结构(32/64位)上运行的构建,则可以将每个目标平台的SWT
jar与安装程序捆绑在一起,然后加载正确的一个在运行时动态运行(或者让安装程序在安装时复制正确的SWT jar)。
例如,说要支持32位和64位Windows和Linux,您将拥有SWT jar:
lib/swt_win_32.jarlib/swt_win_64.jarlib/swt_linux_32.jarlib/swt_linux_32.jar
使您的ant脚本/安装程序包括所有这些(每个大约1.6MB),然后在运行时的代码中,您可以使用Java系统属性检测 *** 作系统和体系结构
System.getProperty("os.name");System.getProperty("os.arch");建立正确的jar文件的名称。
URLClassloader.addURL(URL url)使用反射调用受保护的方法来执行。
我已经在我的网站上放置了执行此确切任务的工作代码:http : //www.chrisnewland.com/select-
correct-swt-jar-for-your-os-and-jvm-at-
runtime-191
如果您能忍受代码气味,那么它是解决非常常见的SWT问题的快速解决方案。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)