我使用IDEA開發我的代碼,而在IDEA環境下,代碼運行良好,但是當我使用mvn clean install構建項目並使用此腳本運行projet時找不到任何支持AES/CBC/PKCS5Padding的供應商
#!/bin/bash
source ~/.bashrc
JAVA_OPTS="$JAVA_OPTS -Drun_dir=$MY_ROOT"
JAVA_OPTS="$JAVA_OPTS -server -Xss256k -Xms1g -Xmx1g"
JAVA_OPTS="$JAVA_OPTS -XX:-OmitStackTraceInFastThrow"
JAVA_OPTS="$JAVA_OPTS -XX:PermSize=128m -XX:MaxPermSize=128m"
JAVA_OPTS="$JAVA_OPTS -XX:+DisableExplicitGC -XX:+CMSClassUnloadingEnabled -XX:+UseConcMarkSweepGC -XX:+UseParNewGC"
JAVA_OPTS="$JAVA_OPTS -XX:CMSFullGCsBeforeCompaction=4 -XX:CMSInitiatingOccupancyFraction=80 -XX:MaxTenuringThreshold=15"
JAVA_OPTS="$JAVA_OPTS -Dclient.enczoding.override=UTF-8 -Dfile.encoding=UTF-8 -Duser.language=zh -Duser.region=CN"
JAVA_OPTS="$JAVA_OPTS -Djava.ext.dirs=./lib -Djava.library.path=./lib -cp ./resources"
java $JAVA_OPTS Main
談到錯誤
Cannot find any provider supporting AES/CBC/PKCS5Padding
JDK是相同的版本,任何人都可以幫忙嗎?
您從默認值,其中包括(大部分)的cryptoproviders,以一個錯誤的值改爲'java.ext.dirs',所以cryptoproviders不能使用。默認還包括'localedata.jar',我非常確定'zh-CN'不在運行時的基本部分,所以我希望你的程序中的i18n也會失敗,但也許是默默的。 JRE期望將'java.ext.dirs'用於Java定義的擴展機制,並將其用於其他任何事情都可能導致問題;類路徑是用於用戶編寫的(或第三方)代碼。 –
感謝, 'CLASSPATH = $ CLASSPATH:$ JAVA_HOME/lib中/的tools.jar 在'LS JAR/lib' 做 CLASSPATH = $ CLASSPATH:./的lib/$罐子; 做 JAVA_OPTS = 「$ JAVA_OPTS -cp ./resources」 的java $ JAVA_OPTS -classpath $ CLASSPATH Main'我改變了這樣的腳本,而且它的工作 – bricks