Comment distinguer la version java 32 bits de la version java 64 bits dans les fichiers jnlp


Pour démarrer notre application héritée, nous utilisons java WebStart via un jnlp.

Nous aimerions prendre en charge les clients Java 64 bits mais l'une de nos bibliothèques dépend de l'architecture.

, Nous avons pensé à faire quelque chose comme:

<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>

Cela ne fonctionne pas car le paramètre sun.Arch.données.modèle="64" est utilisé pour définir le paramètre au lieu de tester sur elle.

Des idées?

Author: Andrew Thompson, 2013-02-01

1 answers

Ceci est expliqué dans la documentation, ici: http://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/syntax.html#resources

Il ne dit pas quelles valeurs arch ont un sens, cependant. Vous voudriez qu'il fonctionne pour différentes implémentations et versions de JVM. J'ai googlé pendant un moment et voici ce que j'ai fini par utiliser:

  <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>
 10
Author: Dr.Haribo, 2013-02-02 11:22:14