2013-02-01 16 views
9

Per avviare la nostra applicazione legacy, usiamo java WebStart tramite un jnlp.Come distinguere 32 bit dalla versione java a 64 bit nei file jnlp

Vogliamo supportare client Java a 64 bit ma una delle nostre librerie dipende dall'architettura.

Abbiamo pensato di fare qualcosa di simile:

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

Questo non funziona perché il parametro sun.arch.data.model = "64" viene utilizzato per impostare il parametro in luogo dei test su di esso.

Qualche idea?

+0

Sono contento che tu l'abbia risolto. :) –

risposta

9

questo è spiegato nella documentazione, qui: http://docs.oracle.com/javase/7/docs/technotes/guides/javaws/developersguide/syntax.html#resources

Non dice che arch valori senso, però. Vorresti che funzionasse per diverse implementazioni e versioni di JVM. Ho cercato su Google per un po 'ed ecco cosa ho finito usando:

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

Grazie per avermi indicato nella giusta direzione. La soluzione di lavoro è diventata: ' ' – Dave

Problemi correlati