Installanywhere:当64位swt遇上32位JVM

        最近给产品打installer时,能够成功通过installanywhere生成安装包,但安装时,不能成功运行,切换到console模式,再次打成安装包,安装,运行,报以下错误:

 

Unable to locate the application's 'main' class. The class 'demos.common4swt.XxxLauncher' must be public and have a 'public static void main(String
[])' method. (LAX)
Unable to Launch Java Application: Unable to locate the application's 'main' class. The class 'demos.common4swt.XxxLauncher'' must be public and hav
e a 'public static void main(String[])' method. (LAX)

 

        因为之前做测试的时候,通过调整lax.class.path,能够成功地打成安装包并且成功运行。做测试时是在真实机子做测试:win7, jdk6-64bit, installanywhere8未破解版本(公司不允许使用破解、盗版之类的软件,试用期过了之后,不能在相同的机子重复安装,用一些软件清除了注册表之后还是不能安装,所以这几天的工作是在虚拟机进行,环境是xp, jdk6-32bit, installanywhere8未破解版本)。

 

        根据前面的测试,怀疑的重点就在lax.class.path,不厌其烦地反复修改、打包、安装测试,但都是无功而疾。又把安装包从虚拟机拷贝到真实机子安装,还是不行,实在没辙了。打开安装目录的bin目录下,看到有一个xxx.lax文件,用editplus打开,手工修改lax.class.path,直接运行,还是不行。接着仔细地看一遍该文件,发现有一个lax.nl.current.vm的属性,当前指向jdk1.5,就在想,如果改为更高版本的jdk会怎样呢。因为当前机子的jdk1.6是64位的,改了之后,就可以运行了,看来还真是JDK不兼容导致了,后来发现,产品用的SWT是64位的。

  

        问题虽然得到解决了,但是,为什么installanywhere的那个报错提示,那么让人费解呢,为什么不直接报64bit的SWT与32bit的JVM不兼容呢?

 

        产品用的SWT(SWT对应的功能是新功能)是64位的,发现64位的SWT只能是64位的JVM上运行,32位的SWT也只能在32位的JVM上运行,而且产品在安装时,用户还可以手工选择JVM,接下来,处理SWT与JVM的兼容问题

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
SWT是一个跨平台的Java GUI库,它提供了用于构建本地界面的组件和工具。SWT库有32位64位两个版本供开发者下载使用。 首先,32位64位是指计算机处理器的数据位数。32位处理器每次能够处理32位(4字节)的数据,而64位处理器每次能够处理64位(8字节)的数据。所以,64位处理器的处理能力更高,能够更快地处理大量数据和执行更复杂的运算。 当我们使用SWT库进行开发时,选择32位还是64位的库取决于我们所使用的Java虚拟机(JVM)的位数。如果我们的JVM32位的,就需要下载和使用32位SWT库;而如果我们的JVM64位的,就需要下载和使用64位SWT库。 下载SWT库的方法很简单,我们可以访问SWT的官方网站,从下载页面找到相应的32位64位版本的库文件。通常,这些库文件以jar或zip格式提供。我们可以根据自己的开发环境和需求选择下载对应的库文件。 下载完库文件后,我们需要将其导入我们的项目中。具体的导入步骤可以根据我们使用的集成开发环境(IDE)来进行设置,通常包括将库文件添加到项目的构建路径中或将其放入项目的相应文件夹中。 总结来说,选择32位还是64位SWT库取决于我们所使用的Java虚拟机的位数。我们可以从SWT的官方网站下载对应的库文件,并根据开发环境的要求将其导入到我们的项目中。这样就可以开始使用SWT库进行GUI界面的开发了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值