2012-06-27 62 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进行编译? –

回答