@Override
刚刚在实现接口方法的方法上编译带有注释的类文件时遇到了有趣的问题。
我试图在 Eclipse 中设置moquette 项目并得到编译错误
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>