你的位置:首页 > Java教程

[Java教程]Java Access Restriction问题排查解决办法


 

环境背景:

本地用Eclipse开发编译Maven项目时,出现以下错误。但用mvn命令package等都没有问题,可以编译通过。

 

分析过程:

  1. 看提示,应该是使用JDK里面的类访问JDK包时出现的问题,网上查找了一下解决办法。大部分是“在Window - preference - Java - Compiler - Errors/Warnings界面的Deprecated and restricted API下。把Forbidden reference (access rules): 的规则由默认的Error改为Warning即可。”
  2. 然后查看”Project-Java Compiler“里有个提示。,得知是我本地的JDK和Eclipse里编译的JDK版本不一致导致的。在”Project - Java Build Path - Libraries” 里把JDK Lib删除掉,再重新引入我本机实际安装的JDK。报错消失了。
  3. 之后又执行了mvn后,Eclipse刷新又出现之前的错误。于是就检查Maven里面引用的JDK Lib如下:
  4. 说明还是Maven编译的JDK Lib和本地安装的JDK Lib不一致导致的。

 

解决方法:

  1. 修改本地安装和Maven使用的Jdk版本一致。
  2. 修改Maven编译的版本和本地安装的一致。