2013-02-01 63 views
9

要啓動我們的遺留應用程序,我們使用java WebStart通過jnlp。如何區分jnlp文件中的64位java版本的32位

我們希望支持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」是用來設置該參數,而不是測試就可以了。

任何想法?

+0

很高興你把它分類。 :) –

回答

9

這在文件中解釋,在這裏: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> 
+0

感謝您指點我在正確的方向。工作方案成爲: ' – Dave