2016-12-15 16 views
5

Java Web Start aracılığıyla başlattığım bir SWT Java uygulamasına sahibim. 32 Bit sürümü iyi çalışıyor, ancak birçok kişi piyasaya sürmek için 64 bit sürümünü alamıyor. 32 bit JVM'de 64 bit kitaplığı çalıştıramayacaklarını söyleyen bir hata alıyorlar. Google ve StackOverflow ile diğerlerini aradım ve Web Start'ın 64 bit JVM'de nasıl başlatılacağı hakkında bir cevap bulamıyorum.Java Web Start ve 64 Bit JVM

JVM Options'ı (-d64, -J-d64) hiç şansı olmadan kullanmayı denedim.

Bu mümkün mü, yoksa sadece 32 bit sürümle sınırlıdır (ideal olarak, bu uygulama, günlük dosyalarından çok sayıda verileri temiz bir şekilde gösterecek şekilde ideal olarak en iyi 64 bittir)? Bunun çalışmasına izin vermek için JNLP'mde değiştirmek için neye ihtiyacım var?

<?xml version = '1.0' encoding = 'windows-1252'?> 
<jnlp spec="1.0+" 
     codebase="http://example.com/confluence/download/attachments/212175616/" 
     href="LogMiner_64Bit.jnlp"> 
    <information> 
      <title>LogMiner 64 Bit</title> 
      <vendor> TECH</vendor> 
      <description>Parse Log messages </description> 
      <shortcut online="true"> 
       <desktop/> 
       <menu submenu="FA"/> 
      </shortcut> 
      <offline-allowed/> 
    </information> 
    <menu>64Bit</menu> 
    <security> 
      <all-permissions/> 
    </security> 
    <resources> 
      <java version="1.7+" java-vm-args="-J-d64"/> 
      <jar href="LogMiner64.jar" main="true" download="eager"/> 
    </resources> 
    <application-desc main-class="com.logMiner.ui.LogMiner"/> 
</jnlp> 

cevap

4

Her iki mimariyi de destekleyen tek bir jnlp dosyası oluşturabilirsiniz. Örneğin:

<resources arch="amd64 x86_64"> 
    <jar href="LogMiner64.jar"/> 
</resources> 

<resources arch="x86 i386"> 
    <jar href="LogMiner32.jar"/> 
</resources> 

kaynaklar etiketi, konusunda doğru olanı yapacak tek jnlp dosyasına sahip olabilir os="Linux", os="Mac" ve os="Windows"

Bu şekilde gibi bir os niteliğini alabilir Gerekirse Kullanıcının hangi işletim sistemi ve mimarisi olursa olsun yerel kütüphanelere.

How to distinguish 32 bit from 64 bit java version in jnlp files

+1

Evet Ayrıca bkz, ancak bu tahsis edilebilir ekstra bellek faydalanmak onların makinede hem 32 ve 64 bit JVM olan kullanıcıları yardımcı olmuyor. Bu, 64 bit'i çalışmaya çalışmanın temel sebebi. – user2857108

+1

JNLP, ilk eşleşen kaynağı kullanacaktır. Yani, önce 64 bitlik arch ile kaynak elemanına sahip olmak ikincisini (32 bit) bir düşüş olarak bırakacaktır. Tabii ki, 32 bit JVM'ye izin vermemek için 32 bit arşiv kaynakları öğesini kaldırabilirsiniz. –