You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Eclipse中Maven项目pom.xml首行报错:Cannot access defaults field of Properties

解决方案:Cannot access defaults field of Properties(JDK11 + Eclipse Maven项目)

问题根源

这个错误是因为Maven核心插件(比如maven-compiler-plugin)版本太老,没法兼容JDK11的API改动——JDK9之后对Properties类的defaults字段做了访问限制,旧插件还在直接调用这个字段,所以触发报错。

具体修复步骤

  • 显式配置兼容JDK11的Maven编译器插件
    在你的pom.xml里添加<build><plugins>节点,指定maven-compiler-plugin的版本为3.8.1及以上(这个版本开始支持JDK11),同时如果是war项目,也更新maven-war-plugin到兼容版本:

    <build>
      <plugins>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-compiler-plugin</artifactId>
          <version>3.8.1</version>
          <configuration>
            <source>${java.version}</source>
            <target>${java.version}</target>
          </configuration>
        </plugin>
        <plugin>
          <groupId>org.apache.maven.plugins</groupId>
          <artifactId>maven-war-plugin</artifactId>
          <version>3.2.3</version>
        </plugin>
      </plugins>
    </build>
    
  • 更新Eclipse的Maven版本
    打开Eclipse的Window > Preferences > Maven > Installations,确认用的是Maven3.6.0及以上版本(旧版Maven核心不支持JDK11)。如果没有,手动下载高版本Maven后添加进来设为默认,然后右键项目选Maven > Update Project,勾选强制更新选项刷新配置。

  • 确认项目JDK配置
    右键项目打开Properties,先检查Java Build Path > Libraries,确保JRE是JDK11;再看Java Compiler,把编译合规等级设为11,同时勾选“使用Java Build Path上的JavaSE-11执行环境的合规性”。

补充说明

你现在pom.xml里指定的maven-jar-plugin:3.1.0是兼容JDK11的,但问题出在默认的maven-compiler-plugin版本太低,必须显式指定高版本才能解决这个报错。

内容的提问来源于stack exchange,提问作者IA Nadir

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.05 23:55:27