2017-06-29 39 views
3

我們的java客戶端應用程序需要使用dll的32位java。沒有64位jvm的選項。但是我們的客戶(300多個用戶)需要在他們的計算機上安裝64位jvm,因爲另一個應用程序在其操作系統(windows)上需要64位jvm。因此他們必須安裝32位和64位jvm。當點擊我們的jnlp時,它會自動運行64位jvm,並且我們的程序失敗。 jnlp文件中是否有任何選項/語法強制特定的jvm?我不是指庫或nativelib,我的意思是當單擊我們的jnlp文件時,32位jvm應該啓動。Java jnlp強制使用32位版本運行

編輯300個客戶端上的環境路徑變量是不可能的/可行的,我們需要一個全局解決方案,只需編輯我們的jnlp文件即可。那可能嗎?

回答

1

您可以強制javaws使用32位JRE,方法是指定64位的無效j2se版本(以下示例中爲1.0.0,請注意,j2se版本需要在arch-specific資源部分中指定它工作)。

<?xml version="1.0" encoding="UTF-8"?> 
<jnlp spec="1.0+" codebase="file:///c:/jnlp" href="demo.jnlp"> 
    <information> 
     <title>Demo</title> 
    </information> 
    <security> 
     <all-permissions/> 
    </security> 
    <resources> 
     <jar href="demo.jar" /> 
    </resources> 
    <resources os="Windows" arch="amd64"> 
     <j2se version="1.0.0"/> 
    </resources>  
    <resources os="Windows" arch="x86"> 
     <j2se version="1.8+"/> 
     <jar href="win32/swt.jar"/> 
    </resources> 
    <application-desc main-class="package.to.MainClass"/> 
</jnlp> 

請注意,這是一個「骯髒的黑客」,可能會停止與未來的版本工作。

相關問題