当前位置:   article > 正文

JDK8 升级至 JDK17 打包问题分析_程序包 sun.security.util 已在模块 java.base 中声明, 但该模块未将它导

程序包 sun.security.util 已在模块 java.base 中声明, 但该模块未将它导出到未命
一、概述

近日为了满足客户需求将项目的jdk版本由原先的1.8升级至17,整个过程比较顺利,但是在maven 打包时出现了报错。报错信息为:(程序包 sun.security.util 已在模块 java.base 中声明, 但该模块未将它导出到未命名模块)
在这里插入图片描述

二、问题分析

引起该问的原因是因为从jdk9 开始使用module 模块化引用的结构,包时存在的,只是我们在打包时没有将该模块引入并声明。
关于 module 模块化的文章,可以看这篇博文:https://zhuanlan.zhihu.com/p/640217638

三、解决方案

在打包时 加上打包参数

<arg>--add-exports</arg>
<arg>java.base/sun.security.util=ALL-UNNAMED</arg>
  • 1
  • 2

如下图:
在这里插入图片描述
至此 问题得到解决。针对不同的包 java.base/ *** 可以加上 不用的 报名。都属于同类问题,都可以得到解决。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/你好赵伟/article/detail/195627
推荐阅读
相关标签
  

闽ICP备14008679号