更新:问题与将项目导入 Eclipse 后的“必须覆盖超类方法”错误中描述的问题相同,这是公认的答案:
Eclipse 默认使用 Java 1.5,并且您有实现接口方法的类(在 Java 1.6 中可以使用 @Override 注释,但在 Java 1.5 中只能应用于覆盖超类方法的方法)。
将编译器级别更改为 Java 1.6 将使问题消失。为此,请修改编译器插件配置:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
</configuration>
</plugin>
并更新项目配置(右键单击项目然后Maven V 更新项目配置)确实解决了 Eclipse 下的问题。
或者坚持使用 1.5 但删除有问题的 @Override 注释。
我不知道 Taylor 是如何使用 Java 1.5 编译器级别的。我的猜测是,该项目不会使用 JDK 5 在命令行上构建。
但与完美构建一切的命令行版本的 maven 不同,m2eclipse 在源代码中留下了大量构建错误。
如果没有看到那些“错误”(它们真的是错误吗?),很难说到底发生了什么。请提供一些痕迹。
是否有可能我没有正确配置 m2eclipse?我将如何检查这个?
一个区别是 m2eclipse 默认使用嵌入式版本的 Maven 3,这可能与您在命令行上使用的版本不同。您可以通过Window V Preferences V Maven V Installation更改它(并添加您自己的安装):

但是虽然我建议在 Eclipse 下使用与命令行相同的版本,但这很可能不是问题的根本原因,Maven 2 构建应该在 Maven 3 上运行而没有问题。