Java 6 で Jar を作成しました。現在、リリース ドキュメントを作成し、依存関係を記録しています。Jar を正常に実行できる最も古いバージョンの Java と、ソースを正常に Jar にコンパイルできる最も古いバージョンの Java を見つけるにはどうすればよいですか?
2 に答える
私はマヌエルの解決策しか知りません。試してみてください。ただし、考慮すべき点が 2 つあります。
- コード言語はどのバージョンと互換性がありますか?
- どの JRE に対して実行しますか?
現在のJDKで最初にできることは、コンパイラに渡す引数-source
と引数を反復するだけです。ただし、これによって、使用している JDK のクラスとメソッドを使用できなくなるわけではありません。その場合、当時存在しなかったクラスまたはメソッドを使用している場合、コードは下位の JRE に対して実行されません。-target
javac
最も安全な方法は、すべての異なる JDK を一緒にインストールし、それぞれのコンパイラでコードをコンパイルすることです。
Java 6 で jar を作成し、別のバージョンの出力バイトコードを指定しなかった場合、生成されるクラス ファイルには Java 6 以降が必要になります。-target
手動でコンパイルしている場合、コマンド ライン オプションを使用して、ソースで生成できるバイトコードのバージョンを実験して確認できます。Eclipse またはその他の IDE を使用している場合、ほとんどの場合、生成されたバイトコードのバージョンをプロジェクト オプションで制御する設定があります。または似たような場所。
クラス ファイルのバイトコード バージョンの判別に関する関連記事: What version of javac built my jar?