11

为了启动我们的遗留应用程序,我们通过 jnlp 使用 java WebStart。

我们希望支持 64 位 Java 客户端,但我们的库之一是依赖于体系结构的。

我们想过做类似的事情:

<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" 用于设置参数而不是对其进行测试。

有任何想法吗?

4

1 回答 1

11

这在文档中进行了解释,此处:http ://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/syntax.html#resources

但是,它并没有说明哪些arch值是有意义的。您会希望它适用于不同的 JVM 实现和版本。我用谷歌搜索了一段时间,这就是我最终使用的:

  <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>
于 2013-02-02T11:22:14.073 回答