Maven第一次抱怨@Override注释,但下次成功编译

时间:2011-11-16 14:57:22

标签: java maven override

我运行这样的命令:

mvn tomcat:redeploy 

看到很多错误,比如“...... ImageDaoImpl类型必须覆盖超类方法”

但在此之后我什么都不做,只需再次运行此命令,这次编译好了! 谁能告诉我如何解决这个问题? 每个奇怪的编译时间我都会收到这个错误,这很烦人..

2 个答案:

答案 0 :(得分:2)

我无法立即告诉您为什么问题会消失,但通常这个编译错误表明您正在尝试编译Java 6兼容代码(允许@Override实现接口)并将编译器设置为Java 5合规性(当从超类中覆盖具体方法时,只允许@Override。)

答案 1 :(得分:1)

我刚刚解决了我的问题) 我有两个插件:

<plugin>
    <groupId>org.codehaus.mojo</groupId>
    <artifactId>aspectj-maven-plugin</artifactId>
    <configuration>
        <source>1.5</source>
        <complianceLevel>1.5</complianceLevel>
    </configuration>
...
</plugin>
<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>${jdk.version}</source>
        <target>${jdk.version}</target>
    </configuration>
</plugin>

第一个插件配置为1.5 java,另一个配置为$ {jdk.version},即1.6 对我来说,为什么它可以编译仍然是一个谜,但在设置1.5到1.6之后我的问题已经消失了。