花了一整天的时间试图理解为什么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 Archiver-版本:Plexus Archiver 创建者:Apache Maven 内置:jaco Build-Jdk:1.7.0_147-icedtea ...
这当然是相当模糊的。有没有办法设置正确的“jar工具”,以便清单文件将反映正在使用的版本?
答案 0 :(得分:1)
这里有一种方法,使用Maven / Ant:
Maven: Adding Custom Attributes and Build Timestamp to Manifest
答案 1 :(得分:0)
工具链插件可能会有帮助,不确定,还没有尝试过。