2016-03-24 9 views
-1

私はMac OS X Lion用のJavaアプリケーションをWindows7上で実行したいと思っています。 Mac用のJavaアプリケーションをWindows用のJavaアプリケーションに変換する方法はありますか? 「はい」の場合は、どのようなツールを使用できますか? 提案/アドバイスをいただければ幸いです。Mac用JavaアプリケーションをWindows用Javaアプリケーションに変換する方法は?

+7

Javaアプリケーションは、(ネイティブコードにリンクされている場合を除いて)1つのプラットフォームに限定されません。残念ながら、あなたのJavaアプリケーションのケースであるかどうかを判断するのに十分な情報がありません。 –

+1

@ElliottFrischと同様に、Javaはどのプラットフォームでも実行できます。 JVM(Java仮想マシン)だけが必要です。あなたが持っているコードはすべてJVMで実行されます。すべてのプラットフォームにこのJVMが必要です。 –

+0

必要な「ツール」をファイル転送といいます。 *(大丈夫、あまりにも疲れていて、何か眠る時間がある)* – Andreas

答えて

3

最も可能性の高い答えは:

変換は必要ありません。 Elliot Frish氏とJernej K氏は次のように指摘しています。「Javaはどのプラットフォームでも実行でき、JVM(Java仮想マシン)だけが必要です。

別の可能な答え: Javaプログラムは、ユーザのホームディレクトリ内のファイルに書き込み、そのユーザのホームディレクトリは「Cとしてハードコードされている場合、一部の情報は、例えば、ハードコードされた場合は

:\ユーザー\ ArtJ \ "なら、そのようなものは変更する必要があります。しかし、プログラミングを学ぶだけの人がプログラムを作っていない限り、これは起こりそうもありません。

第3の可能な答え:

プラットフォーム固有のライブラリまたは低レベルのシステムコールを使用した場合は(もやや低い)、あなたはコードでこれらのインスタンスを検索して、そのequilivantにそれらを変更する必要があります必要なプラットフォームの式

0

Javaアプリケーションは移植性があり、理想的にはすべてのプラットフォームで動作するはずです。アプリケーションが最初にどのようにコード化されているかによって、いくつかの小さな欠点があります。

a)Javaアプリケーションがファイルパスとシステムドライブをプラットフォームに依存しない方法で参照していることを確認する必要があります。

  • 静的な文字列pathSeparator:便利なように文字列で表さシステムに依存するパス区切り 文字、

    Fileクラスを使用すると、プラットフォーム固有のファイルパスのために使用することができ、次のパブリックメンバーを持っています。

  • static char pathSeparatorChar:システムに依存する パス区切り文字。

  • 静的文字列区切り文字:便宜上、システムに依存するデフォルトの 名前区切り文字です。

  • 静的char型のseparatorCharです:システムに依存するデフォルト 名前区切り文字

B)あなたはSwingアプリケーションを使用していて、見て、感じて、Mac上で依存している場合は、issue`を持っているかもしれませんWindowsへの移行時に発生します。スイングの問題を解決するには、 "Metal"のようなプラットフォームに依存しないビューに切り替える必要があります。

c)Javaアプリケーションがネイティブオペレーティングシステムライブラリに依存していないことを確認してください。そうであれば、Windowsで適切な置換ライブラリを見つける必要があります。

関連する問題