原因分析:
这个问题的根本原因是Java编译器(javac
)模块在Java 9中对com.sun.tools.javac.processing
包进行了更改,将其标记为不再向外部公开。这样做的目的是限制对内部实现的直接访问,以提高模块化的安全性和稳定性。
在Java 9之前的版本(如Java 8),com.sun.tools.javac.processing
包是作为内部实现的一部分提供的,但并非公共API。因此,在这些旧版JDK中,该包没有被导出给未命名模块,也就无法直接访问。
解决方法:
根据笔者个人得出的经验,最有效的方法还是修改我们的JDK版本
步骤:1.首先在我们的File文件夹下面打开项目结构
2.在我们的SDKs下面下载一个JDK1.8
3.下载一个这个版本的JDK1.8
4.然后我们将它确定应用即可
5.打开我们的设置,找到Maven下面的Runner将这个JDK也改成我们刚刚下载的哪个corretto-1.8版本
6.然后再将importing下面的JDK版本也改成这个corretto -1.8
7.确定应用即可
8.去Maven打包的地方,先执行clean命令
9.然后再次开始打包即可
总结:
1.到项目结构的SDKs目录下下载一个名为corretto -1.8的JDK版本并且应用确定
2.到设置里面的Maven下面把Runner和Importing下面的JDK版本也改成corretto -1.8
3.在检查这三个地方是不是对了,最后再去Maven打包一遍试试