我正在开发一个应该与Java 5兼容的Java程序.我对@OverrideJava 6中允许的已实现接口方法进行了注释,但是在5中没有.我使用的是Java 6 SDK.@Override当我将其设置为5.0合规性时,Eclipse正确地给出了错误消息.但是,我的Maven构建在我的POM中使用以下设置运行时甚至没有警告:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.5</source>
<target>1.5</target>
</configuration>
</plugin>
Run Code Online (Sandbox Code Playgroud)
我是否正确期望这实际上会使构建失败?为什么不呢,有什么我可以做的吗?
这实际上是一个JDK问题,而不是Maven问题.@Override注释没有使用-source 1.5标志失败到1.6 javac.继续尝试.令人遗憾的是,让它失败的唯一方法是使用1.5 javac.
对不起,HTH.
编辑
我自己遇到了这个问题,我也想知道它是否真的在看pom中的设置.打开调试输出(-XI相信,不久之前)会将javac命令行打印到标准输出,你会发现它确实使用了-source 1.5参数.