JavaWebStart和64位JVM
我有一个SWT Java应用程序,我正试图通过JavaWebStart启动它。32位版本运行良好,但许多人无法启动64位版本。他们得到一个错误,说不能在32位JVM上运行64位库。我搜索过Google、StackOverflow和其他网站,但找不到关于如何在64位JVM中启动Web Start的答案 我尝试过使用JVM选项(-d64,-J-d64),但没有任何运气 这是可能的,还是我只是将其限制为32位版本(最好是64位,因为此应用程序将解析日志文件中的大量数据,以便清晰地显示)?我需要在JNLP中更改什么才能让它工作JavaWebStart和64位JVM,java,jnlp,Java,Jnlp,我有一个SWT Java应用程序,我正试图通过JavaWebStart启动它。32位版本运行良好,但许多人无法启动64位版本。他们得到一个错误,说不能在32位JVM上运行64位库。我搜索过Google、StackOverflow和其他网站,但找不到关于如何在64位JVM中启动Web Start的答案 我尝试过使用JVM选项(-d64,-J-d64),但没有任何运气 这是可能的,还是我只是将其限制为32位版本(最好是64位,因为此应用程序将解析日志文件中的大量数据,以便清晰地显示)?我需要在JNL
<?xml version = '1.0' encoding = 'windows-1252'?>
<jnlp spec="1.0+"
codebase="http://example.com/confluence/download/attachments/212175616/"
href="LogMiner_64Bit.jnlp">
<information>
<title>LogMiner 64 Bit</title>
<vendor> TECH</vendor>
<description>Parse Log messages </description>
<shortcut online="true">
<desktop/>
<menu submenu="FA"/>
</shortcut>
<offline-allowed/>
</information>
<menu>64Bit</menu>
<security>
<all-permissions/>
</security>
<resources>
<java version="1.7+" java-vm-args="-J-d64"/>
<jar href="LogMiner64.jar" main="true" download="eager"/>
</resources>
<application-desc main-class="com.logMiner.ui.LogMiner"/>
</jnlp>
LogMiner 64位
技术人员
解析日志消息
64位
您可以创建一个支持这两种体系结构的jnlp文件。例如:
<resources arch="amd64 x86_64">
<jar href="LogMiner64.jar"/>
</resources>
<resources arch="x86 i386">
<jar href="LogMiner32.jar"/>
</resources>
如有必要,resources标签还可以采用os属性,如os=“Linux”
、os=“Mac”
和os=“Windows”
通过这种方式,您可以拥有一个单独的jnlp文件,无论用户使用的是什么操作系统和体系结构,该文件都能正确处理本机libs
另请参见是,但这并不能帮助机器上同时具有32位和64位JVM的用户利用可以分配的额外内存。这是我尝试让64位工作的主要原因。JNLP将使用第一个匹配的资源。因此,先使用64位arch的resources元素,然后使用第二个(32位)作为后备。当然,您可以删除32位arch resources元素以禁止32位JVM。