1

クロス プラットフォーム (vista、xp、mac、Linux) を構築しようとしています。アプリケーションを FAT-32 でフォーマットされた USB ドライブに入れる必要があり、どの OS コンピューターでも実行できるはずです。Java/JavaFx を使用してそれを行う予定です。

複数のプラットフォームで実行する方法についてのアドバイス。

こんにちは、上記の要件に対する uber-jar の使用について誰でもアドバイスできますか。ぴったりではないでしょうか。

4

1 に答える 1

2

考慮すべき点がいくつかあります。

  • USB は、使用する必要があるすべての OS と互換性のあるファイルシステムでフォーマットする必要があります。
  • Java アプリケーションは、Java を実行できる任意の OS 上で実行できますが、OS ごとに異なる Java ランタイムが必要です。Linux 用、Windows 用、OSX 用などの Java ランタイムがあります。

私の提案は、サポートする OS を定義し、USB のルートにそれぞれの OS のランチャー スクリプトを作成することです。たとえば、少なくとも myapp.cmd (Windows の場合)、myapp.sh (Linux の場合) などがあります。

さらに、同じ USB に異なる Java ランタイムを配置したい場合は、ランチャー スクリプトを使用して、USB ファイルシステムの対応する JRE で Java アプリケーションを実行します。

ランチャー スクリプトのひねりは、OS で既に JRE が利用可能かどうかを何らかの方法でチェックし (環境内の変数 JAVA_HOME をチェックするか、「java -version」の出力をチェックするなど)、それに応じて動作することです (ただし、Java を実行している場合)。独自の JRE からのアプリケーションの方が安全です)。

于 2014-07-31T13:36:23.740 に答える