4

Java 6 で Jar を作成しました。現在、リリース ドキュメントを作成し、依存関係を記録しています。Jar を正常に実行できる最も古いバージョンの Java と、ソースを正常に Jar にコンパイルできる最も古いバージョンの Java を見つけるにはどうすればよいですか?

4

2 に答える 2

1

私はマヌエルの解決策しか知りません。試してみてください。ただし、考慮すべき点が 2 つあります。

  1. コード言語はどのバージョンと互換性がありますか?
  2. どの JRE に対して実行しますか?

現在のJDKで最初にできることは、コンパイラに渡す引数-sourceと引数を反復するだけです。ただし、これによって、使用している JDK のクラスとメソッドを使用できなくなるわけではありません。その場合、当時存在しなかったクラスまたはメソッドを使用している場合、コードは下位の JRE に対して実行されません。-targetjavac

最も安全な方法は、すべての異なる JDK を一緒にインストールし、それぞれのコンパイラでコードをコンパイルすることです。

于 2012-07-03T18:05:15.077 に答える
0

Java 6 で jar を作成し、別のバージョンの出力バイトコードを指定しなかった場合、生成されるクラス ファイルには Java 6 以降が必要になります。-target手動でコンパイルしている場合、コマンド ライン オプションを使用して、ソースで生成できるバイトコードのバージョンを実験して確認できます。Eclipse またはその他の IDE を使用している場合、ほとんどの場合、生成されたバイトコードのバージョンをプロジェクト オプションで制御する設定があります。または似たような場所。

クラス ファイルのバイトコード バージョンの判別に関する関連記事: What version of javac built my jar?

于 2012-07-03T18:06:18.930 に答える