在花了一整天的时间试图理解为什么maven不想基于编译器插件中的条目切换jdk(请参阅http://maven.apache.org/plugins/maven-compiler-plugin/examples/compile-using-different-jdk.html)之后,我发现编译器可以正确切换,但jar工具却不能。请考虑以下事实:
我在代码中添加了多捕获块作为测试。如果将标记设置为java 7,则会进行编译。如果我更改为1.6,它将中断。这是预期的行为。
但是,如果我删除了菱形运算符(即在两者中均进行编译),并且使用Java 6进行了编译,则清单文件中将显示以下内容:
清单版本:1.0
存档器版本:Plexus存档器
创建者:Apache Maven
内置于:雅各
Build-Jdk:1.7.0_147-icedtea
...
这当然是模棱两可的。有没有办法设置正确的“ jar工具”,以便清单文件将反映所使用的版本?
最佳答案
使用Maven / Ant的一种方法:
Maven: Adding Custom Attributes and Build Timestamp to Manifest