【问题标题】:interesting issue about @Override with interface关于带有接口的@Override 的有趣问题
【发布时间】:2013-04-11 22:34:32
【问题描述】:

刚刚在实现接口方法的方法上使用@Override注释编译类文件时遇到了有趣的问题。

我尝试在 Eclipse 中设置moquette project 并得到编译错误

Description Resource    Path    Location    Type
The method decodable(IoSession, IoBuffer) of type PubAckDecoder must override a superclass method   PubAckDecoder.java  /moquette-parser/src/main/java/org/dna/mqtt/moquette/proto  line 22 Java Problem

这似乎是正确的,因为使用了 java 1.5 合规级别。然而这个项目是用 maven 成功构建的!这对我来说很奇怪。

有以下用于javac编译器的参数文件:

"-d"
"E:/workspaces/mqtt/moquette-mqtt/parser/target/classes"
"-classpath"
"E:/workspaces/mqtt/moquette-mqtt/parser/target/classes;e:/_mavenRepository/org/apache/mina/mina-core/2.0.4/mina-core-2.0.4.jar;e:/_mavenRepository/org/slf4j/slf4j-api/1.6.1/slf4j-api-1.6.1.jar;e:/_mavenRepository/org/slf4j/slf4j-log4j12/1.6.4/slf4j-log4j12-1.6.4.jar;e:/_mavenRepository/log4j/log4j/1.2.16/log4j-1.2.16.jar;"
"E:/workspaces/mqtt/moquette-mqtt/parser/src/main/java/org/dna/mqtt/moquette/proto/PubAckDecoder.java"
"-g"
"-nowarn"
"-target"
"1.5"
"-source"
"1.5"
"-encoding"
"UTF-8"

我删除了所有其他源文件,只留下了包含错误的PubAckDecoder

我错过了什么?为什么它不应该用maven构建?

UPD

编译器插件的Maven配置:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <fork>true</fork>
            <source>1.5</source>
            <target>1.5</target>
     </configuration>
</plugin>

【问题讨论】:

  • 那么 Maven 使用什么源版本来构建它?
  • @JonSkeet,为编译器插件添加配置
  • 可能已回答here

标签: java maven javac java-6 java-5


【解决方案1】:

您能否详细描述一下“用于 javac 编译器的参数文件”是什么意思?

你在 pom.xml 上配置过这样的 maven-compiler-plugin 吗?

<plugin>
            <artifactId>maven-compiler-plugin</artifactId>
            <configuration>
                <source>1.5</source>
                <target>1.5</target>
            </configuration>
        </plugin>

【讨论】:

  • 我将fork设置为true,所以maven使用javac编译类。为此,它会生成参数文件,其中包含传递给javac 的所有参数。
【解决方案2】:

找到这个帖子:http://kohsuke.org/2012/01/27/override-and-interface/。解释了为什么eclipse有错误,maven构建成功。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-04-08
    • 2012-06-12
    • 2011-03-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-19
    相关资源
    最近更新 更多