docker java.lang.NoClassDefFoundError: org/bouncycastle/** 解決


一、問題描述

加解密使用 org.bouncycastle ,本地開發ok,上傳docker容器,報  java.lang.NoClassDefFoundError: org/bouncycastle/

 

二、問題排查

參考其他大佬的文章,知道了這是由於加入了jdk的第三方安全庫,需要額外配置

但絕大部分都是關於windows、linux下的,沒扒到docker的解決方法

自己動手,記錄如下,供其他同學參考

 

三、解決問題

1、進入容器

docker exec -it tomcat8001 /bin/sh

2、查看 JAVA_HOME 目錄

env

3、退出容器

ctrl+P+Q

4、拷貝 jar 包進容器

docker cp /storage/lib/bcprov-jdk15on-1.56.jar tomcat8001:/docker-java-home/jre/lib/ext

5、修改 java.security文件

本地找份 java.security文件 ,在下面加上

security.provider.x=org.bouncycastle.jce.provider.BouncyCastleProvider

6、拷貝  java.security文件 進容器

docker cp /storage/java.security tomcat8001:/docker-java-home/jre/lib/security

7、重啟容器


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM