2011-12-14 12 views
7

32ビットと64ビットの両方のJVMがインストールされた64ビットコンピュータで実行されるJNLPアプレットがあります。 正しく実行するには、JNLPを64ビットJVMで実行する必要があります。 64ビットJVMを強制的に使用する方法はありますか?jnlpが64ビットjvmで実行されるようにする方法

+0

* *なぜ「JNLPを正しく実行するために、64ビットJVM上で実行する必要がありますか。」? –

+1

@Andrew、memory!それは難しいものです。おそらくネイティブのlibsなど – bestsss

+0

@bestsssありがとうございましたが、私は通行人からの推測を​​求めていませんでした。私はOPからの特定の答えが欲しい。 –

答えて

0

はこちらをご覧ください:How can I tell if I'm running in 64-bit JVM or 32-bit JVM (from within a program)?

あなたは、64ビットJVMを検出するために、これを使用することができ、それがない場合は、エラーメッセージが表示されます。

+1

JNLPファイルで作業することに近い技術しかありませんos.archテストです。 OPには、すべての64ビットos.arch値のリストが必要です。 (2つの一般的なアーキテクチャでは、少なくとも "xmd64"と "amd64"があります) –

1

-d64 VMオプションを使用すると、バーチャルマシンは64ビットのみで開始できます。それ以外の方法は簡単ではありません。友好的ではないが仕事をする。コンソールモードの印刷では:あなたは64 - JVMが使用されている64ビットブラウザを使用している場合

Error: This Java instance does not support a 32-bit JVM. 
Please install the desired version. 

-d64

は1.5.0

+1

NO。 "-d64"を使用します(-D64はOracleのマニュアルでエラー、大文字の-Dは環境変数を定義するために使用されます) をJVMオプションとして渡し、 "-J-d64" –

+0

-d64として渡し、大文字と小文字が区別されるため、-D64の意味は異なります。 –

0

ので、サポートされています。 32Bitブラウザ(現在のほとんどのブラウザではデフォルト)を使用している場合、32Bit JVMが使用されます。だからfirefoxとchromeには32bitバージョンしかありません(もちろん、test/developのバージョンがありますが、公式のものはありません)。 MicrosoftのIEは、数少ないofferingのいずれかのバージョンです。

jnlpが64ビット環境で動作することを保証することはできません。あなたのアプレットコードに確保することができますしかし、それは適切な環境で開始されたされています

String architecture = System.getProperty("os.arch"); 

if(architecture.equals("i386") || architecture.equals("i686")){ 
architecture = "x86"; 
} 
else if(architecture.equals("amd64") || architecture.equals("universal")){ 
architecture = "x86_64"; 
} 
関連する問題