4

Windows で動作する jar を作成しました。この jar では、Cognos システムと統合されており、Oracle データベースを使用していくつかのファイル書き込みといくつかのデータベース操作を行っています。

jar が Linux システムで実行されるかどうかを確認するタスクがあります。

Jar ファイルがプラットフォームに依存しないかどうかを確認する方法はありますか?

ファイルの書き込みとデータベース操作は、現在機能しているため、実行する必要があると感じています。しかし、それでも私はFieについて確信が持てません。

4

2 に答える 2

1

jar が Linux システムを実行するかどうかを確認するタスクがあります。Jar ファイルがプラットフォームに依存しないかどうかを確認する方法はありますか?

確実にする唯一の方法は、Linux システムにインストールして、すべての機能を完全にテストすることです。(それが面倒な場合は、少なくとも、プラットフォームに依存すると考えられるすべての機能をテストしてください。)


記録として、次のようなコード プラットフォームに依存する可能性のあるものがたくさんあります。

  • 改行ターミネータをコードに配線し、
  • パス名をコードに組み込み、
  • パス名を組み立てるときに、Windows (または Linux) のファイル区切り文字/パス名構文を想定し、
  • Windows ファイルのロックやその他のプラットフォーム固有のファイル システムの動作に関係するもの、
  • 外部コマンド名をコードに組み込み、
  • ネイティブ コード ライブラリを使用して、
  • 入力/出力エンコーディングに関する仮定の作成 (たとえば、デフォルトが UTF-8 などであると仮定)、
  • Swing GUI のレンダリングと (場合によっては) 動作の奇妙な点
  • そしておそらく私が考えたことのない他の人たち。

何かを見逃していないことを確認する唯一の方法は、テスト、テスト、テストすることです

于 2012-11-22T07:11:15.463 に答える
1

LinuxまたはMacで確認してください。ただし、ファイル操作に正しいパスセパレーターを使用する、改行など、プラットフォームに依存するいくつかのことを確認する必要があります

java.io.File.separatorCharまたはSystem.getProperty("path.separator");パスセパレーターとSystem.getProperty("line.separator");改行に使用できます。

于 2012-11-22T07:11:43.183 に答える