1

コンパイラプラグインのエントリに基づいてmavenがjdkを切り替えたくない理由を理解するために丸一日を費やした後( http://maven.apache.org/plugins/maven-compiler-plugin/examples/compile-usingを参照) -different-jdk.html)コンパイラが正しく切り替わっていることを発見しましたが、jarツールは正しく切り替わっていません。次の事実を考慮してください。

  1. テストとして、コードにマルチキャッチブロックを追加しました。タグをjava7に設定すると、コンパイルされます。1.6に変更すると壊れます。これは予想される動作です。

  2. ただし、diamond演算子を削除して(つまり、両方でコンパイルして)、Java 6でコンパイルすると、マニフェストファイルに次のようになります。

    マニフェスト-バージョン:1.0アーカイバ-バージョン:Plexusアーカイバ作成者:Apache Maven作成者:jacoビルド-Jdk:1.7.0_147-icedtea .. ..

もちろん、これはかなりあいまいです。マニフェストファイルが使用されているバージョンを反映するように、正しい「jarツール」を設定する方法はありますか?

4

2 に答える 2

2

Maven/Ant を使用した方法:

Maven: カスタム属性とビルド タイムスタンプをマニフェストに追加する

于 2012-06-27T08:12:59.740 に答える
0

Toolchains プラグインはここで役立つかもしれませんが、まだ試していません。

http://maven.apache.org/plugins/maven-toolchains-plugin/

于 2012-06-27T16:36:38.683 に答える