javax.crypto这个包是Java自带的,在jce.jar里面。从网上搜的解决办法是:在pom的build分支下面的maven-compiler-plugin加上标红的部分。
<plugin>
<verbose/>
<bootclasspath>${java.home}/lib/rt.jar;${java.home}/lib/jce.jar</bootclasspath>
注意:rt.jar一般是不在Java_home的jdk的lib下的,所以需要手动的将Java_home的jre下的lib下的rt.jar拷贝到jdk的lib下。这样这个问题就解决了。(后来发现不用加)
这样的设置同时可以解决这样的问题::sun.misc.BASE64Decoder 是 Sun的专用 API,可能会在未来版本中删除。
正确配置如下:Windows(分隔符英文分号):
<bootclasspath>${java.home}/lib/rt.jar;${java.home}/lib/jce.jar</bootclasspath>
linux(分隔符英文冒号):
<bootclasspath>${java.home}/lib/rt.jar:${java.home}/lib/jce.jar</bootclasspath>
解决Java加密包缺失问题
本文介绍了解决Java项目中因缺少javax.crypto包而引发的问题的方法。通过在Maven配置文件中添加特定路径来确保正确的类库加载,适用于不同操作系统,并且能够避免未来版本可能移除sun.misc.BASE64Decoder等类的风险。
517

被折叠的 条评论
为什么被折叠?



