如何在jnlp文件中区分32位和64位java版本 [英] How to distinguish 32 bit from 64 bit java version in jnlp files
问题描述
要启动我们的遗留应用程序,我们通过jnlp使用java WebStart。
To start our legacy application, we use java WebStart via a jnlp.
我们希望支持64位Java客户端,但我们的一个库是依赖于体系结构的。
We would like to support 64-bit Java clients but one of our libraries is architecture dependent.
我们想做类似的事情:
<resources>
<j2se version="1.6+" sun.arch.data.model="64"/>
<jar href="/apps/swt-3.7M5-win32-win32-x86_64_s.jar" download="eager" />
</resources>
<resources>
<j2se version="1.6+" />
<jar href="/apps/swt-3.7M5-win32-win32-x86_s.jar" download="eager" />
</resources>
这不起作用,因为参数sun.arch.data.model =64用于设置参数而不是测试它。
This is not working because the parameter sun.arch.data.model="64" is used to set the parameter instead of testing on it.
任何想法?
推荐答案
这在文档中有解释,这里: http://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/syntax.html#resources
This is explained in the documentation, here: http://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/syntax.html#resources
但是,它没有说明哪个 arch
值有意义。您希望它适用于不同的JVM实现和版本。我用Google搜索了一段时间,这就是我最终使用的内容:
It doesn't say which arch
values make sense, though. You would want it to work for different JVM implementations and versions. I googled around for a while and here's what I've ended up using:
<resources>
<java version="1.6+"/>
<jar href="lwjgl-2.8.4.jar"/>
<jar href="lwjgl_util-2.8.4.jar"/>
</resources>
<!-- LWJGL Linux 64-bit native libraries -->
<resources os="Linux" arch="amd64">
<nativelib href="lwjgl-amd64-linux.jar"/>
</resources>
<resources os="Linux" arch="x86_64">
<nativelib href="lwjgl-amd64-linux.jar"/>
</resources>
<!-- LWJGL Linux 32-bit native libraries -->
<resources os="Linux" arch="x86">
<nativelib href="lwjgl-x86-linux.jar"/>
</resources>
<resources os="Linux" arch="i386">
<nativelib href="lwjgl-x86-linux.jar"/>
</resources>
<!-- LWJGL Windows 64-bit native libraries -->
<resources os="Windows" arch="amd64">
<nativelib href="lwjgl-amd64-win.jar"/>
</resources>
<resources os="Windows" arch="x86_64">
<nativelib href="lwjgl-amd64-win.jar"/>
</resources>
<!-- LWJGL Windows 32-bit native libraries -->
<resources os="Windows" arch="x86">
<nativelib href="lwjgl-x86-win.jar"/>
</resources>
<resources os="Windows" arch="i386">
<nativelib href="lwjgl-x86-win.jar"/>
</resources>
<!-- LWJGL MAC OS/X native libraries -->
<resources os="Mac">
<nativelib href="lwjgl-macosx.jar"/>
</resources>
这篇关于如何在jnlp文件中区分32位和64位java版本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!