我有很少的Eclipse Java项目,我将它们转换为Maven。所有项目都显示错误,其中覆盖了接口方法。但是当我跑步" mvn clean"它确实显示为构建成功。此外,当我删除maven性质时,项目编译没有问题。为什么会这样?请指教。
答案 0 :(得分:1)
这很可能是因为你的pom缺少你所针对的Java版本的规范; 1.6之前的JDK版本不允许对实现接口方法的方法进行@Override
注释。你应该总是指定他的Java版本,所以Maven不必猜测你的意图。例如:
<build>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<configuration>
<source>1.7</source>
<target>1.7</target>
</configuration>
</plugin>
</plugins>
</build>
当您告诉maven配置您的Eclipse项目或通过m2e导入它时,它会查找该配置以应用于Eclipse中的相应配置。如果版本不存在,它将使用工作空间的默认值,这可以在工作空间之间变化。你可能正在遇到这种错误。
您也可以在Eclipse中手动修复项目配置;见https://stackoverflow.com/a/1678170/639520
但是无论如何修复pom是一个好主意,然后刷新/更新Eclipse配置应该选择它。