2012-06-27 88 views
1

花了整整一天的時間,試圖瞭解爲什麼maven不想根據編譯器插件中的條目切換jdk(請參閱http://maven.apache.org/plugins/maven-compiler-plugin/examples/compile-using-different-jdk.html),我發現編譯器可以正確切換,但jar工具是不。考慮以下事實:包含正確的jdk

  1. 我在我的代碼中添加了multi-catch塊作爲測試。如果我將標籤設置爲java 7,它會編譯。如果我改爲1.6就會中斷。這是預期的行爲。

    清單-版本:1.0 歸檔,版本

  2. 但是,如果我刪除了鑽石操作(即在兩個編譯),我與Java 6編譯,我得到了我的清單文件如下:叢歸檔 創建-者:阿帕奇Maven的 內置者:雅科 內建的jdk:1.7.0_147-的IcedTea ...

當然,這是比較模糊的。是否有任何方法可以設置正確的「jar工具」,以便清單文件將反映正在使用的版本?這裏

+1

javac的!=罐子.... –

+0

那部分我......哼!讓我改述一下:「如何獲得清單文件以反映所使用的java編譯器的版本。」 –

+0

即使您告訴java編譯器使用1.6,您仍然在下面使用您的1.7 JDK。在這個意義上說,這個條目是準確的如果它非常重要,考慮使用Java 6 JDK進行編譯? –

回答