java - 项目在转换为 Maven 后从所有接口(interface)方法被覆盖的地方抛出错误

标签 java eclipse maven compiler-errors eclipse-mars

我有几个 Eclipse Java 项目,我将它们转换为 Maven。所有项目都显示接口(interface)方法被覆盖的错误。但当我运行“mvn clean”时,它确实显示为构建成功。此外,当我删除 Maven 性质时,项目编译时不会出现问题。为什么会发生这种情况?请指教。

enter image description here

enter image description here

enter image description here

最佳答案

这很可能是由于您的 pom 缺少您所针对的 Java 版本的规范; 1.6 之前的 JDK 版本不允许在实现接口(interface)方法的方法上使用 @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 配置应该可以恢复它。

关于java - 项目在转换为 Maven 后从所有接口(interface)方法被覆盖的地方抛出错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34221851/

相关文章:

BIRT 中的 JavaScript 错误

android - Eclipse 连接到 android 调试器,但没有进入 Debug模式 - 怎么了?

java - 无法在 spring 中处理配置类的导入候选

java - 在java中加载DLL文件

java - java中如何将数组列表传递给数据库

java - 内存不足错误 : unable to create new native thread using ExecutorService

maven - 如何覆盖 maven clean 目标以删除其他文件夹

java - 如何使用 JpaRepository 获取嵌套对象列表?

eclipse - 在STS eclipse中将hibernate-orm导入为gradle项目

Java 9 + maven + junit : does test code need module-info. java 自己的,放在哪里?