bouncycastle(1) Use bouncy castle provider runtime

本文详细介绍了如何利用BouncyCastle提供者实现Java平台上的DES加密与解密操作,并通过示例代码验证了实现过程。重点讨论了如何在不同环境下配置提供者,以及使用BouncyCastle提供的类进行加密和解密的基本步骤。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

bouncycastle(1) Use bouncy castle provider runtime

JCE is the short for The Java Cryptography Extension.

From this class, we can see the provider list of my JDK.
package com.sillycat.easycastle.tools;


import java.security.Provider;
import java.security.Security;
import java.util.Iterator;
import java.util.Set;


publicclass ProviderInformation {
publicstaticvoid main(String[] args) {
Provider[] providers = Security.getProviders();
for (int i = 0; i < providers.length; i++) {
Provider provider = providers[i];
System.out.println("Provider name: " + provider.getName());
System.out.println("Provider information: " + provider.getInfo());
System.out.println("Provider version: " + provider.getVersion());
Set<?> entries = provider.entrySet();
Iterator<?> iterator = entries.iterator();
while (iterator.hasNext()) {
System.out.println("Property entry: " + iterator.next());
}
}
}
}

And I use a test class to verify DES with bouncy castle:
package com.sillycat.easycastle.runner;

import java.security.InvalidKeyException;
import java.security.Key;
import java.security.NoSuchAlgorithmException;
import java.security.NoSuchProviderException;
import java.security.Security;

import javax.crypto.BadPaddingException;
import javax.crypto.Cipher;
import javax.crypto.IllegalBlockSizeException;
import javax.crypto.KeyGenerator;
import javax.crypto.NoSuchPaddingException;

import org.bouncycastle.jce.provider.BouncyCastleProvider;

public class DESEncryptAndDecrypt {

private static final String JCE_PROVIDER_BC = "BC";

public static void main(String[] args) {
//Security.addProvider(new com.sun.crypto.provider.SunJCE());
Security.addProvider(new BouncyCastleProvider());
try {
// "BC" is the name of the BouncyCastle provider
KeyGenerator kg = KeyGenerator.getInstance("DES",JCE_PROVIDER_BC);

Key key = kg.generateKey();
Cipher cipher = Cipher.getInstance("DES",JCE_PROVIDER_BC);

byte[] data = "Hello World!".getBytes();
System.out.println("Original data : " + new String(data));

cipher.init(Cipher.ENCRYPT_MODE, key);
byte[] result = cipher.doFinal(data);
System.out.println("Encrypted data: " + new String(result));

cipher.init(Cipher.DECRYPT_MODE, key);
byte[] original = cipher.doFinal(result);
System.out.println("Decrypted data: " + new String(original));
} catch (NoSuchAlgorithmException e) {
e.printStackTrace();
} catch (NoSuchPaddingException e) {
e.printStackTrace();
} catch (InvalidKeyException e) {
e.printStackTrace();
} catch (IllegalStateException e) {
e.printStackTrace();
} catch (IllegalBlockSizeException e) {
e.printStackTrace();
} catch (BadPaddingException e) {
e.printStackTrace();
} catch (NoSuchProviderException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}

I import the package in pom.xml like this:
<dependency>
<groupId>bouncycastle</groupId>
<artifactId> bcprov-jdk16</artifactId>
<version> 140</version>
</dependency>

references:
http://www.bouncycastle.org
http://www.bouncycastle.org/specifications.html#install
http://hi.baidu.com/bluewhale84/blog/item/f3bb20a1f538a9884710648c.html
http://security.group.iteye.com/group/wiki/2280-Non-symmetric-encryption-Digital-Signature
http://snowolf.iteye.com/blog/379860
http://sillycat.iteye.com/blog/563515
"C:\Program Files\Java\jdk1.8.0_131\bin\java.exe" -agentlib:jdwp=transport=dt_socket,address=127.0.0.1:55092,suspend=y,server=n -javaagent:C:\Users\35131\AppData\Local\JetBrains\IntelliJIdea2025.1\captureAgent\debugger-agent.jar=file:///C:/Users/35131/AppData/Local/Temp/capture2031639416253389831.props -agentpath:C:\Users\35131\AppData\Local\Temp\idea_libasyncProfiler_dll_temp_folder2\libasyncProfiler.dll=version,jfr,event=wall,interval=10ms,cstack=no,file=C:\Users\35131\IdeaSnapshots\AdminApplication_2025_05_27_143821.jfr,dbghelppath=C:\Users\35131\AppData\Local\Temp\idea_dbghelp_dll_temp_folder\dbghelp.dll,log=C:\Users\35131\AppData\Local\Temp\AdminApplication_2025_05_27_143821.jfr.log.txt,logLevel=DEBUG -XX:TieredStopAtLevel=1 -noverify -Dspring.output.ansi.enabled=always -Dcom.sun.management.jmxremote -Dspring.jmx.enabled=true -Dspring.liveBeansView.mbeanDomain -Dspring.application.admin.enabled=true "-Dmanagement.endpoints.jmx.exposure.include=*" -Dkotlinx.coroutines.debug.enable.creation.stack.trace=false -Ddebugger.agent.enable.coroutines=true -Dkotlinx.coroutines.debug.enable.flows.stack.trace=true -Dkotlinx.coroutines.debug.enable.mutable.state.flows.stack.trace=true -Dfile.encoding=UTF-8 -classpath "C:\Program Files\Java\jdk1.8.0_131\jre\lib\charsets.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\deploy.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\access-bridge-64.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\cldrdata.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\dnsns.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\jaccess.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\jfxrt.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\localedata.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\nashorn.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunec.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunjce_provider.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunmscapi.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\sunpkcs11.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\ext\zipfs.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\javaws.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jce.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jfr.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jfxswt.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\jsse.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\management-agent.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\plugin.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\resources.jar;C:\Program Files\Java\jdk1.8.0_131\jre\lib\rt.jar;C:\Users\35131\Desktop\0521\server\server-admin\target\classes;C:\Users\35131\.m2\repository\org\springframework\boot\spring-boot-starter-web\2.7.2\spring-boot-starter-web-2.7.2.jar;C:\Users\35131\.m2\repository\org\springframework\boot\spring-boot-starter\2.7.2\spring-boot-starter-2.7.2.jar;C:\Users\35131\.m2\repository\org\springframework\boot\spring-boot-starter-logging\2.7.2\spring-boot-starter-logging-2.7.2.jar;C:\Users\35131\.m2\repository\ch\qos\logback\logback-classic\1.2.11\logback-classic-1.2.11.jar;C:\Users\35131\.m2\repository\ch\qos\logback\logback-core\1.2.11\logback-core-1.2.11.jar;C:\Users\35131\.m2\repository\org\apache\logging\log4j\log4j-to-slf4j\2.17.2\log4j-to-slf4j-2.17.2.jar;C:\Users\35131\.m2\repository\org\slf4j\jul-to-slf4j\1.7.36\jul-to-slf4j-1.7.36.jar;C:\Users\35131\.m2\repository\jakarta\annotation\jakarta.annotation-api\1.3.5\jakarta.annotation-api-1.3.5.jar;C:\Users\35131\.m2\repository\org\springframework\spring-core\5.3.22\spring-core-5.3.22.jar;C:\Users\35131\.m2\repository\org\springframework\spring-jcl\5.3.22\spring-jcl-5.3.22.jar;C:\Users\35131\.m2\repository\org\yaml\snakeyaml\1.30\snakeyaml-1.30.jar;C:\Users\35131\.m2\repository\org\springframework\boot\spring-boot-starter-json\2.7.2\spring-boot-starter-json-2.7.2.jar;C:\Users\35131\.m2\repository\com\fasterxml\jackson\core\jackson-databind\2.13.3\jackson-databind-2.13.3.jar;C:\Users\35131\.m2\repository\com\fasterxml\jackson\core\jackson-core\2.13.3\jackson-core-2.13.3.jar;C:\Users\35131\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jdk8\2.13.3\jackson-datatype-jdk8-2.13.3.jar;C:\Users\35131\.m2\repository\com\fasterxml\jackson\datatype\jackson-datatype-jsr310\2.13.3\jackson-datatype-jsr310-2.13.3.jar;C:\Users\35131\.m2\repository\com\fasterxml\jackson\module\jackson-module-parameter-names\2.13.3\jackson-module-parameter-names-2.13.3.jar;C:\Users\35131\.m2\repository\org\springframework\boot\spring-boot-starter-tomcat\2.7.2\spring-boot-starter-tomcat-2.7.2.jar;C:\Users\35131\.m2\repository\org\apache\tomcat\embed\tomcat-embed-core\9.0.65\tomcat-embed-core-9.0.65.jar;C:\Users\35131\.m2\repository\org\apache\tomcat\embed\tomcat-embed-el\9.0.65\tomcat-embed-el-9.0.65.jar;C:\Users\35131\.m2\repository\org\apache\tomcat\embed\tomcat-embed-websocket\9.0.65\tomcat-embed-websocket-9.0.65.jar;C:\Users\35131\.m2\repository\org\springframework\spring-web\5.3.22\spring-web-5.3.22.jar;C:\Users\35131\.m2\repository\org\springframework\spring-beans\5.3.22\spring-beans-5.3.22.jar;C:\Users\35131\.m2\repository\org\springframework\spring-webmvc\5.3.22\spring-webmvc-5.3.22.jar;C:\Users\35131\.m2\repository\org\springframework\spring-context\5.3.22\spring-context-5.3.22.jar;C:\Users\35131\.m2\repository\org\springframework\spring-expression\5.3.22\spring-expression-5.3.22.jar;C:\Users\35131\.m2\repository\org\springframework\boot\spring-boot-starter-aop\2.7.2\spring-boot-starter-aop-2.7.2.jar;C:\Users\35131\.m2\repository\org\springframework\spring-aop\5.3.22\spring-aop-5.3.22.jar;C:\Users\35131\.m2\repository\org\aspectj\aspectjweaver\1.9.7\aspectjweaver-1.9.7.jar;C:\Users\35131\.m2\repository\org\springframework\boot\spring-boot-starter-data-redis\2.7.2\spring-boot-starter-data-redis-2.7.2.jar;C:\Users\35131\.m2\repository\org\springframework\data\spring-data-redis\2.7.2\spring-data-redis-2.7.2.jar;C:\Users\35131\.m2\repository\org\springframework\data\spring-data-keyvalue\2.7.2\spring-data-keyvalue-2.7.2.jar;C:\Users\35131\.m2\repository\org\springframework\data\spring-data-commons\2.7.2\spring-data-commons-2.7.2.jar;C:\Users\35131\.m2\repository\org\springframework\spring-tx\5.3.22\spring-tx-5.3.22.jar;C:\Users\35131\.m2\repository\org\springframework\spring-oxm\5.3.22\spring-oxm-5.3.22.jar;C:\Users\35131\.m2\repository\io\lettuce\lettuce-core\6.1.9.RELEASE\lettuce-core-6.1.9.RELEASE.jar;C:\Users\35131\.m2\repository\io\netty\netty-common\4.1.79.Final\netty-common-4.1.79.Final.jar;C:\Users\35131\.m2\repository\io\netty\netty-handler\4.1.79.Final\netty-handler-4.1.79.Final.jar;C:\Users\35131\.m2\repository\io\netty\netty-resolver\4.1.79.Final\netty-resolver-4.1.79.Final.jar;C:\Users\35131\.m2\repository\io\netty\netty-buffer\4.1.79.Final\netty-buffer-4.1.79.Final.jar;C:\Users\35131\.m2\repository\io\netty\netty-transport-native-unix-common\4.1.79.Final\netty-transport-native-unix-common-4.1.79.Final.jar;C:\Users\35131\.m2\repository\io\netty\netty-codec\4.1.79.Final\netty-codec-4.1.79.Final.jar;C:\Users\35131\.m2\repository\io\netty\netty-transport\4.1.79.Final\netty-transport-4.1.79.Final.jar;C:\Users\35131\.m2\repository\io\projectreactor\reactor-core\3.4.21\reactor-core-3.4.21.jar;C:\Users\35131\.m2\repository\org\reactivestreams\reactive-streams\1.0.4\reactive-streams-1.0.4.jar;C:\Users\35131\Desktop\0521\server\server-common\target\classes;C:\Users\35131\.m2\repository\org\springframework\boot\spring-boot-starter-validation\2.7.2\spring-boot-starter-validation-2.7.2.jar;C:\Users\35131\.m2\repository\org\hibernate\validator\hibernate-validator\6.2.3.Final\hibernate-validator-6.2.3.Final.jar;C:\Users\35131\.m2\repository\jakarta\validation\jakarta.validation-api\2.0.2\jakarta.validation-api-2.0.2.jar;C:\Users\35131\.m2\repository\org\jboss\logging\jboss-logging\3.4.3.Final\jboss-logging-3.4.3.Final.jar;C:\Users\35131\.m2\repository\org\springframework\boot\spring-boot-starter-security\2.7.2\spring-boot-starter-security-2.7.2.jar;C:\Users\35131\.m2\repository\org\springframework\security\spring-security-config\5.7.2\spring-security-config-5.7.2.jar;C:\Users\35131\.m2\repository\org\springframework\security\spring-security-core\5.7.2\spring-security-core-5.7.2.jar;C:\Users\35131\.m2\repository\org\springframework\security\spring-security-crypto\5.7.2\spring-security-crypto-5.7.2.jar;C:\Users\35131\.m2\repository\org\springframework\security\spring-security-web\5.7.2\spring-security-web-5.7.2.jar;C:\Users\35131\.m2\repository\org\springframework\security\spring-security-jwt\1.1.1.RELEASE\spring-security-jwt-1.1.1.RELEASE.jar;C:\Users\35131\.m2\repository\org\bouncycastle\bcpkix-jdk15on\1.64\bcpkix-jdk15on-1.64.jar;C:\Users\35131\.m2\repository\org\bouncycastle\bcprov-jdk15on\1.64\bcprov-jdk15on-1.64.jar;C:\Users\35131\.m2\repository\io\jsonwebtoken\jjwt\0.9.1\jjwt-0.9.1.jar;C:\Users\35131\.m2\repository\com\alibaba\fastjson\2.0.10\fastjson-2.0.10.jar;C:\Users\35131\.m2\repository\com\alibaba\fastjson2\fastjson2-extension\2.0.10\fastjson2-extension-2.0.10.jar;C:\Users\35131\.m2\repository\com\alibaba\fastjson2\fastjson2\2.0.10\fastjson2-2.0.10.jar;C:\Users\35131\.m2\repository\javax\servlet\javax.servlet-api\4.0.1\javax.servlet-api-4.0.1.jar;C:\Users\35131\.m2\repository\net\dreamlu\mica-ip2region\2.6.7\mica-ip2region-2.6.7.jar;C:\Users\35131\.m2\repository\net\dreamlu\mica-core\2.6.7\mica-core-2.6.7.jar;C:\Users\35131\.m2\repository\commons-io\commons-io\2.11.0\commons-io-2.11.0.jar;C:\Users\35131\.m2\repository\org\apache\commons\commons-lang3\3.12.0\commons-lang3-3.12.0.jar;C:\Users\35131\.m2\repository\com\baomidou\mybatis-plus-annotation\3.5.1\mybatis-plus-annotation-3.5.1.jar;C:\Users\35131\.m2\repository\com\alibaba\easyexcel\3.1.1\easyexcel-3.1.1.jar;C:\Users\35131\.m2\repository\com\alibaba\easyexcel-core\3.1.1\easyexcel-core-3.1.1.jar;C:\Users\35131\.m2\repository\com\alibaba\easyexcel-support\3.1.1\easyexcel-support-3.1.1.jar;C:\Users\35131\.m2\repository\org\apache\poi\poi-ooxml-schemas\4.1.2\poi-ooxml-schemas-4.1.2.jar;C:\Users\35131\.m2\repository\org\apache\commons\commons-csv\1.8\commons-csv-1.8.jar;C:\Users\35131\.m2\repository\org\ehcache\ehcache\3.10.0\ehcache-3.10.0.jar;C:\Users\35131\.m2\repository\javax\cache\cache-api\1.1.1\cache-api-1.1.1.jar;C:\Users\35131\.m2\repository\org\glassfish\jaxb\jaxb-runtime\2.3.6\jaxb-runtime-2.3.6.jar;C:\Users\35131\.m2\repository\jakarta\xml\bind\jakarta.xml.bind-api\2.3.3\jakarta.xml.bind-api-2.3.3.jar;C:\Users\35131\.m2\repository\org\glassfish\jaxb\txw2\2.3.6\txw2-2.3.6.jar;C:\Users\35131\.m2\repository\com\sun\istack\istack-commons-runtime\3.0.12\istack-commons-runtime-3.0.12.jar;C:\Users\35131\.m2\repository\com\sun\activation\jakarta.activation\1.2.2\jakarta.activation-1.2.2.jar;C:\Users\35131\.m2\repository\io\springfox\springfox-boot-starter\3.0.0\springfox-boot-starter-3.0.0.jar;C:\Users\35131\.m2\repository\io\springfox\springfox-oas\3.0.0\springfox-oas-3.0.0.jar;C:\Users\35131\.m2\repository\io\swagger\core\v3\swagger-annotations\2.1.2\swagger-annotations-2.1.2.jar;C:\Users\35131\.m2\repository\io\swagger\core\v3\swagger-models\2.1.2\swagger-models-2.1.2.jar;C:\Users\35131\.m2\repository\io\springfox\springfox-spi\3.0.0\springfox-spi-3.0.0.jar;C:\Users\35131\.m2\repository\io\springfox\springfox-schema\3.0.0\springfox-schema-3.0.0.jar;C:\Users\35131\.m2\repository\io\springfox\springfox-core\3.0.0\springfox-core-3.0.0.jar;C:\Users\35131\.m2\repository\net\bytebuddy\byte-buddy\1.12.12\byte-buddy-1.12.12.jar;C:\Users\35131\.m2\repository\io\springfox\springfox-spring-web\3.0.0\springfox-spring-web-3.0.0.jar;C:\Users\35131\.m2\repository\io\github\classgraph\classgraph\4.8.83\classgraph-4.8.83.jar;C:\Users\35131\.m2\repository\io\springfox\springfox-spring-webmvc\3.0.0\springfox-spring-webmvc-3.0.0.jar;C:\Users\35131\.m2\repository\io\springfox\springfox-spring-webflux\3.0.0\springfox-spring-webflux-3.0.0.jar;C:\Users\35131\.m2\repository\io\springfox\springfox-swagger-common\3.0.0\springfox-swagger-common-3.0.0.jar;C:\Users\35131\.m2\repository\org\mapstruct\mapstruct\1.3.1.Final\mapstruct-1.3.1.Final.jar;C:\Users\35131\.m2\repository\io\springfox\springfox-data-rest\3.0.0\springfox-data-rest-3.0.0.jar;C:\Users\35131\.m2\repository\io\springfox\springfox-bean-validators\3.0.0\springfox-bean-validators-3.0.0.jar;C:\Users\35131\.m2\repository\io\springfox\springfox-swagger2\3.0.0\springfox-swagger2-3.0.0.jar;C:\Users\35131\.m2\repository\io\swagger\swagger-annotations\1.5.20\swagger-annotations-1.5.20.jar;C:\Users\35131\.m2\repository\io\swagger\swagger-models\1.5.20\swagger-models-1.5.20.jar;C:\Users\35131\.m2\repository\io\springfox\springfox-swagger-ui\3.0.0\springfox-swagger-ui-3.0.0.jar;C:\Users\35131\.m2\repository\com\fasterxml\classmate\1.5.1\classmate-1.5.1.jar;C:\Users\35131\.m2\repository\org\springframework\plugin\spring-plugin-core\2.0.0.RELEASE\spring-plugin-core-2.0.0.RELEASE.jar;C:\Users\35131\.m2\repository\org\springframework\plugin\spring-plugin-metadata\2.0.0.RELEASE\spring-plugin-metadata-2.0.0.RELEASE.jar;C:\Users\35131\Desktop\0521\server\server-system\target\classes;C:\Users\35131\.m2\repository\mysql\mysql-connector-java\8.0.29\mysql-connector-java-8.0.29.jar;C:\Users\35131\.m2\repository\com\baomidou\mybatis-plus-boot-starter\3.5.1\mybatis-plus-boot-starter-3.5.1.jar;C:\Users\35131\.m2\repository\com\baomidou\mybatis-plus\3.5.1\mybatis-plus-3.5.1.jar;C:\Users\35131\.m2\repository\com\baomidou\mybatis-plus-extension\3.5.1\mybatis-plus-extension-3.5.1.jar;C:\Users\35131\.m2\repository\com\baomidou\mybatis-plus-core\3.5.1\mybatis-plus-core-3.5.1.jar;C:\Users\35131\.m2\repository\com\github\jsqlparser\jsqlparser\4.3\jsqlparser-4.3.jar;C:\Users\35131\.m2\repository\org\mybatis\mybatis\3.5.9\mybatis-3.5.9.jar;C:\Users\35131\.m2\repository\org\mybatis\mybatis-spring\2.0.6\mybatis-spring-2.0.6.jar;C:\Users\35131\.m2\repository\org\springframework\boot\spring-boot-starter-jdbc\2.7.2\spring-boot-starter-jdbc-2.7.2.jar;C:\Users\35131\.m2\repository\com\zaxxer\HikariCP\4.0.3\HikariCP-4.0.3.jar;C:\Users\35131\.m2\repository\org\springframework\spring-jdbc\5.3.22\spring-jdbc-5.3.22.jar;C:\Users\35131\.m2\repository\com\fasterxml\jackson\core\jackson-annotations\2.13.3\jackson-annotations-2.13.3.jar;C:\Users\35131\.m2\repository\org\apache\poi\poi\5.2.3\poi-5.2.3.jar;C:\Users\35131\.m2\repository\commons-codec\commons-codec\1.15\commons-codec-1.15.jar;C:\Users\35131\.m2\repository\org\apache\commons\commons-collections4\4.4\commons-collections4-4.4.jar;C:\Users\35131\.m2\repository\org\apache\commons\commons-math3\3.6.1\commons-math3-3.6.1.jar;C:\Users\35131\.m2\repository\com\zaxxer\SparseBitSet\1.2\SparseBitSet-1.2.jar;C:\Users\35131\.m2\repository\org\apache\logging\log4j\log4j-api\2.17.2\log4j-api-2.17.2.jar;C:\Users\35131\.m2\repository\org\apache\poi\poi-ooxml\5.2.3\poi-ooxml-5.2.3.jar;C:\Users\35131\.m2\repository\org\apache\poi\poi-ooxml-lite\5.2.3\poi-ooxml-lite-5.2.3.jar;C:\Users\35131\.m2\repository\org\apache\xmlbeans\xmlbeans\5.1.1\xmlbeans-5.1.1.jar;C:\Users\35131\.m2\repository\xml-apis\xml-apis\1.4.01\xml-apis-1.4.01.jar;C:\Users\35131\.m2\repository\org\apache\commons\commons-compress\1.21\commons-compress-1.21.jar;C:\Users\35131\.m2\repository\com\github\virtuald\curvesapi\1.07\curvesapi-1.07.jar;C:\Users\35131\Desktop\0521\server\server-quartz\target\classes;C:\Users\35131\.m2\repository\org\quartz-scheduler\quartz\2.3.2\quartz-2.3.2.jar;C:\Users\35131\.m2\repository\com\mchange\mchange-commons-java\0.2.15\mchange-commons-java-0.2.15.jar;C:\Users\35131\.m2\repository\org\springframework\spring-context-support\5.3.22\spring-context-support-5.3.22.jar;C:\Users\35131\Desktop\0521\server\server-framework\target\classes;C:\Users\35131\.m2\repository\com\github\xiaoymin\knife4j-spring-boot-starter\3.0.2\knife4j-spring-boot-starter-3.0.2.jar;C:\Users\35131\.m2\repository\com\github\xiaoymin\knife4j-spring-boot-autoconfigure\3.0.2\knife4j-spring-boot-autoconfigure-3.0.2.jar;C:\Users\35131\.m2\repository\com\github\xiaoymin\knife4j-spring\3.0.2\knife4j-spring-3.0.2.jar;C:\Users\35131\.m2\repository\com\github\xiaoymin\knife4j-annotations\3.0.2\knife4j-annotations-3.0.2.jar;C:\Users\35131\.m2\repository\com\github\xiaoymin\knife4j-core\3.0.2\knife4j-core-3.0.2.jar;C:\Users\35131\.m2\repository\org\javassist\javassist\3.25.0-GA\javassist-3.25.0-GA.jar;C:\Users\35131\.m2\repository\io\swagger\swagger-core\1.5.22\swagger-core-1.5.22.jar;C:\Users\35131\.m2\repository\com\fasterxml\jackson\dataformat\jackson-dataformat-yaml\2.13.3\jackson-dataformat-yaml-2.13.3.jar;C:\Users\35131\.m2\repository\com\google\guava\guava\27.0.1-android\guava-27.0.1-android.jar;C:\Users\35131\.m2\repository\com\google\guava\failureaccess\1.0.1\failureaccess-1.0.1.jar;C:\Users\35131\.m2\repository\com\google\guava\listenablefuture\9999.0-empty-to-avoid-conflict-with-guava\listenablefuture-9999.0-empty-to-avoid-conflict-with-guava.jar;C:\Users\35131\.m2\repository\com\google\code\findbugs\jsr305\3.0.2\jsr305-3.0.2.jar;C:\Users\35131\.m2\repository\org\checkerframework\checker-compat-qual\2.5.2\checker-compat-qual-2.5.2.jar;C:\Users\35131\.m2\repository\com\google\errorprone\error_prone_annotations\2.2.0\error_prone_annotations-2.2.0.jar;C:\Users\35131\.m2\repository\com\google\j2objc\j2objc-annotations\1.1\j2objc-annotations-1.1.jar;C:\Users\35131\.m2\repository\org\codehaus\mojo\animal-sniffer-annotations\1.17\animal-sniffer-annotations-1.17.jar;C:\Users\35131\.m2\repository\javax\validation\validation-api\2.0.1.Final\validation-api-2.0.1.Final.jar;C:\Users\35131\.m2\repository\com\github\xiaoymin\knife4j-spring-ui\3.0.2\knife4j-spring-ui-3.0.2.jar;C:\Users\35131\.m2\repository\org\projectlombok\lombok\1.18.30\lombok-1.18.30.jar;C:\Users\35131\.m2\repository\cn\hutool\hutool-all\5.8.0\hutool-all-5.8.0.jar;C:\Users\35131\.m2\repository\com\github\oshi\oshi-core\6.1.6\oshi-core-6.1.6.jar;C:\Users\35131\.m2\repository\net\java\dev\jna\jna\5.11.0\jna-5.11.0.jar;C:\Users\35131\.m2\repository\net\java\dev\jna\jna-platform\5.11.0\jna-platform-5.11.0.jar;C:\Users\35131\.m2\repository\org\slf4j\slf4j-api\1.7.36\slf4j-api-1.7.36.jar;C:\Users\35131\.m2\repository\org\springframework\boot\spring-boot-autoconfigure\2.7.2\spring-boot-autoconfigure-2.7.2.jar;C:\Users\35131\.m2\repository\org\springframework\boot\spring-boot\2.7.2\spring-boot-2.7.2.jar;C:\Users\35131\.m2\repository\org\springframework\boot\spring-boot-starter-actuator\2.7.2\spring-boot-starter-actuator-2.7.2.jar;C:\Users\35131\.m2\repository\org\springframework\boot\spring-boot-actuator-autoconfigure\2.7.2\spring-boot-actuator-autoconfigure-2.7.2.jar;C:\Users\35131\.m2\repository\org\springframework\boot\spring-boot-actuator\2.7.2\spring-boot-actuator-2.7.2.jar;C:\Users\35131\.m2\repository\io\micrometer\micrometer-core\1.9.2\micrometer-core-1.9.2.jar;C:\Users\35131\.m2\repository\org\hdrhistogram\HdrHistogram\2.1.12\HdrHistogram-2.1.12.jar;C:\Users\35131\.m2\repository\org\latencyutils\LatencyUtils\2.0.3\LatencyUtils-2.0.3.jar;D:\IntelliJ IDEA 2025.1.1.1\lib\idea_rt.jar" cn.zczx.base.admin.AdminApplication 已连接到地址为 ''127.0.0.1:55092',传输: '套接字'' 的目标虚拟机 14:38:22.933 [main] DEBUG reactor.util.Loggers - Using Slf4j logging framework 14:38:22.941 [main] DEBUG reactor.core.publisher.Hooks - Enabling stacktrace debugging via onOperatorDebug . ____ _ __ _ _ /\\ / ___'_ __ _ _(_)_ __ __ _ \ \ \ \ ( ( )\___ | '_ | '_| | '_ \/ _` | \ \ \ \ \\/ ___)| |_)| | | | | || (_| | ) ) ) ) ' |____| .__|_| |_|_| |_\__, | / / / / =========|_|==============|___/=/_/_/_/ :: Spring Boot :: (v2.7.2) 2025-05-27 14:38:24.352 INFO 17924 --- [ main] cn.zczx.base.admin.AdminApplication : Starting AdminApplication using Java 1.8.0_131 on blue with PID 17924 (C:\Users\35131\Desktop\0521\server\server-admin\target\classes started by 35131 in C:\Users\35131\Desktop\0521\server) 2025-05-27 14:38:24.354 INFO 17924 --- [ main] cn.zczx.base.admin.AdminApplication : The following 1 profile is active: "dev" 2025-05-27 14:38:27.205 INFO 17924 --- [ main] o.apache.catalina.core.StandardService : Starting service [Tomcat] 2025-05-27 14:38:27.205 INFO 17924 --- [ main] org.apache.catalina.core.StandardEngine : Starting Servlet engine: [Apache Tomcat/9.0.65] 2025-05-27 14:38:27.440 INFO 17924 --- [ main] o.a.c.c.C.[Tomcat].[localhost].[/] : Initializing Spring embedded WebApplicationContext Logging initialized using 'class org.apache.ibatis.logging.stdout.StdOutImpl' adapter. Registered plugin: 'com.baomidou.mybatisplus.extension.plugins.MybatisPlusInterceptor@2b0d85bd' 2025-05-27 14:38:28.821 ERROR 17924 --- [ main] c.b.m.core.MybatisConfiguration : mapper[cn.zczx.base.system.mapper.ArchivesMapper.page] is ignored, because it exists, maybe from xml file [cn.zczx.base.system.mapper.ArchivesMapper.update] Has been loaded by XML or SqlProvider or Mybatis's Annotation, so ignoring this injection for [class com.baomidou.mybatisplus.core.injector.methods.Update] Parsed mapper file: 'file [C:\Users\35131\Desktop\0521\server\server-system\target\classes\mapper\ArchivesMapper.xml]' Parsed mapper file: 'file [C:\Users\35131\Desktop\0521\server\server-system\target\classes\mapper\CompanyEnergyCapacityMapper.xml]' Parsed mapper file: 'file [C:\Users\35131\Desktop\0521\server\server-system\target\classes\mapper\CompanyEnergyConfigMapper.xml]' Parsed mapper file: 'file [C:\Users\35131\Desktop\0521\server\server-system\target\classes\mapper\CompanyEnergyRecordMapper.xml]' Parsed mapper file: 'file [C:\Users\35131\Desktop\0521\server\server-system\target\classes\mapper\CompanyEnergySwitchMapper.xml]' [cn.zczx.base.system.mapper.CompanyMapper.update] Has been loaded by XML or SqlProvider or Mybatis's Annotation, so ignoring this injection for [class com.baomidou.mybatisplus.core.injector.methods.Update] [cn.zczx.base.system.mapper.CompanyMapper.updateById] Has been loaded by XML or SqlProvider or Mybatis's Annotation, so ignoring this injection for [class com.baomidou.mybatisplus.core.injector.methods.UpdateById] Parsed mapper file: 'file [C:\Users\35131\Desktop\0521\server\server-system\target\classes\mapper\CompanyMapper.xml]' Parsed mapper file: 'file [C:\Users\35131\Desktop\0521\server\server-system\target\classes\mapper\MonitorRecordMapper.xml]' Parsed mapper file: 'file [C:\Users\35131\Desktop\0521\server\server-system\target\classes\mapper\SystemConfigMapper.xml]' Parsed mapper file: 'file [C:\Users\35131\Desktop\0521\server\server-system\target\classes\mapper\SystemDictItemMapper.xml]' Parsed mapper file: 'file [C:\Users\35131\Desktop\0521\server\server-system\target\classes\mapper\SystemDictTypeMapper.xml]' Parsed mapper file: 'file [C:\Users\35131\Desktop\0521\server\server-system\target\classes\mapper\SystemLoginLogMapper.xml]' Parsed mapper file: 'file [C:\Users\35131\Desktop\0521\server\server-system\target\classes\mapper\SystemMenuMapper.xml]' Parsed mapper file: 'file [C:\Users\35131\Desktop\0521\server\server-system\target\classes\mapper\SystemNoticeMapper.xml]' Parsed mapper file: 'file [C:\Users\35131\Desktop\0521\server\server-system\target\classes\mapper\SystemOperLogMapper.xml]' Parsed mapper file: 'file [C:\Users\35131\Desktop\0521\server\server-system\target\classes\mapper\SystemPostMapper.xml]' Parsed mapper file: 'file [C:\Users\35131\Desktop\0521\server\server-system\target\classes\mapper\SystemRoleMapper.xml]' Can not find table primary key in Class: "cn.zczx.base.system.model.entity.SystemRoleMenu". 2025-05-27 14:38:29.278 WARN 17924 --- [ main] c.b.m.core.injector.DefaultSqlInjector : class cn.zczx.base.system.model.entity.SystemRoleMenu ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method. Parsed mapper file: 'file [C:\Users\35131\Desktop\0521\server\server-system\target\classes\mapper\SystemRoleMenuMapper.xml]' Parsed mapper file: 'file [C:\Users\35131\Desktop\0521\server\server-system\target\classes\mapper\SystemUnitMapper.xml]' Parsed mapper file: 'file [C:\Users\35131\Desktop\0521\server\server-system\target\classes\mapper\SystemUserMapper.xml]' Can not find table primary key in Class: "cn.zczx.base.system.model.entity.SystemUserPost". 2025-05-27 14:38:29.337 WARN 17924 --- [ main] c.b.m.core.injector.DefaultSqlInjector : class cn.zczx.base.system.model.entity.SystemUserPost ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method. Parsed mapper file: 'file [C:\Users\35131\Desktop\0521\server\server-system\target\classes\mapper\SystemUserPostMapper.xml]' Can not find table primary key in Class: "cn.zczx.base.system.model.entity.SystemUserRole". 2025-05-27 14:38:29.352 WARN 17924 --- [ main] c.b.m.core.injector.DefaultSqlInjector : class cn.zczx.base.system.model.entity.SystemUserRole ,Not found @TableId annotation, Cannot use Mybatis-Plus 'xxById' Method. Parsed mapper file: 'file [C:\Users\35131\Desktop\0521\server\server-system\target\classes\mapper\SystemUserRoleMapper.xml]' 2025-05-27 14:38:30.736 INFO 17924 --- [ main] org.quartz.impl.StdSchedulerFactory : Using default implementation for ThreadExecutor 2025-05-27 14:38:30.764 INFO 17924 --- [ main] org.quartz.core.SchedulerSignalerImpl : Initialized Scheduler Signaller of type: class org.quartz.core.SchedulerSignalerImpl 2025-05-27 14:38:30.764 INFO 17924 --- [ main] org.quartz.core.QuartzScheduler : Quartz Scheduler v.2.3.2 created. 2025-05-27 14:38:30.783 INFO 17924 --- [ main] com.zaxxer.hikari.HikariDataSource : MyHikariCP - Starting... 2025-05-27 14:38:31.145 INFO 17924 --- [ main] com.zaxxer.hikari.HikariDataSource : MyHikariCP - Start completed. 2025-05-27 14:38:31.306 INFO 17924 --- [ main] org.quartz.core.QuartzScheduler : Scheduler meta-data: Quartz Scheduler (v2.3.2) 'TaskScheduler' with instanceId 'blue1748327910738' Scheduler class: 'org.quartz.core.QuartzScheduler' - running locally. NOT STARTED. Currently in standby mode. Number of jobs executed: 0 Using thread pool 'org.quartz.simpl.SimpleThreadPool' - with 20 threads. Using job-store 'org.springframework.scheduling.quartz.LocalDataSourceJobStore' - which supports persistence. and is clustered. 2025-05-27 14:38:31.306 INFO 17924 --- [ main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler 'TaskScheduler' initialized from an externally provided properties instance. 2025-05-27 14:38:31.306 INFO 17924 --- [ main] org.quartz.impl.StdSchedulerFactory : Quartz scheduler version: 2.3.2 2025-05-27 14:38:31.308 INFO 17924 --- [ main] org.quartz.core.QuartzScheduler : JobFactory set to: org.springframework.scheduling.quartz.AdaptableJobFactory@426bf2f2 Creating a new SqlSession SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6dbdbb69] was not registered for synchronization because synchronization is not active JDBC Connection [HikariProxyConnection@1689057490 wrapping com.mysql.cj.jdbc.ConnectionImpl@112a50a1] will not be managed by Spring ==> Preparing: SELECT id,job_name,job_group,invoke_target,cron_expression,misfire_policy,concurrent,status,create_by,create_time,update_by,update_time FROM system_job ==> Parameters: <== Columns: id, job_name, job_group, invoke_target, cron_expression, misfire_policy, concurrent, status, create_by, create_time, update_by, update_time <== Row: 1552895359250931712, 测试12, 测试, DemoTask.noParams(), 1/1 * * * * ?, 2, 1, 0, 1, 2022-07-29 13:54:40, 1, 2022-08-04 15:41:38 <== Row: 1554347302003507200, 数据库备份, 备份恢复, DemoTask.params("abc"), 0 15 10 ? * *, 2, 1, 1, 1, 2022-07-26 09:36:09, 1, 2022-07-26 09:39:15 <== Total: 2 Closing non transactional SqlSession [org.apache.ibatis.session.defaults.DefaultSqlSession@6dbdbb69] 2025-05-27 14:38:33.525 WARN 17924 --- [ main] o.s.s.c.a.web.builders.WebSecurity : You are asking Spring Security to ignore Ant [pattern='/resources/**']. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. 2025-05-27 14:38:33.526 WARN 17924 --- [ main] o.s.s.c.a.web.builders.WebSecurity : You are asking Spring Security to ignore Ant [pattern='/favicon.ico']. This is not recommended -- please use permitAll via HttpSecurity#authorizeHttpRequests instead. 2025-05-27 14:38:33.783 WARN 17924 --- [ main] ConfigServletWebServerApplicationContext : Exception encountered during context initialization - cancelling refresh attempt: org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException 2025-05-27 14:38:33.787 INFO 17924 --- [ main] org.quartz.core.QuartzScheduler : Scheduler TaskScheduler_$_blue1748327910738 shutting down. 2025-05-27 14:38:33.787 INFO 17924 --- [ main] org.quartz.core.QuartzScheduler : Scheduler TaskScheduler_$_blue1748327910738 paused. 2025-05-27 14:38:33.788 INFO 17924 --- [ main] org.quartz.core.QuartzScheduler : Scheduler TaskScheduler_$_blue1748327910738 shutdown complete. 2025-05-27 14:38:33.819 INFO 17924 --- [ main] com.zaxxer.hikari.HikariDataSource : MyHikariCP - Shutdown initiated... 2025-05-27 14:38:33.827 INFO 17924 --- [ main] com.zaxxer.hikari.HikariDataSource : MyHikariCP - Shutdown completed. 2025-05-27 14:38:33.970 INFO 17924 --- [ main] o.apache.catalina.core.StandardService : Stopping service [Tomcat] 2025-05-27 14:38:34.059 ERROR 17924 --- [ main] o.s.boot.SpringApplication : Application run failed org.springframework.context.ApplicationContextException: Failed to start bean 'documentationPluginsBootstrapper'; nested exception is java.lang.NullPointerException at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:181) ~[spring-context-5.3.22.jar:5.3.22] at org.springframework.context.support.DefaultLifecycleProcessor.access$200(DefaultLifecycleProcessor.java:54) ~[spring-context-5.3.22.jar:5.3.22] at org.springframework.context.support.DefaultLifecycleProcessor$LifecycleGroup.start(DefaultLifecycleProcessor.java:356) ~[spring-context-5.3.22.jar:5.3.22] at java.lang.Iterable.forEach(Iterable.java:75) ~[na:1.8.0_131] at org.springframework.context.support.DefaultLifecycleProcessor.startBeans(DefaultLifecycleProcessor.java:155) ~[spring-context-5.3.22.jar:5.3.22] at org.springframework.context.support.DefaultLifecycleProcessor.onRefresh(DefaultLifecycleProcessor.java:123) ~[spring-context-5.3.22.jar:5.3.22] at org.springframework.context.support.AbstractApplicationContext.finishRefresh(AbstractApplicationContext.java:935) ~[spring-context-5.3.22.jar:5.3.22] at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:586) ~[spring-context-5.3.22.jar:5.3.22] at org.springframework.boot.web.servlet.context.ServletWebServerApplicationContext.refresh(ServletWebServerApplicationContext.java:147) ~[spring-boot-2.7.2.jar:2.7.2] at org.springframework.boot.SpringApplication.refresh(SpringApplication.java:734) [spring-boot-2.7.2.jar:2.7.2] at org.springframework.boot.SpringApplication.refreshContext(SpringApplication.java:408) [spring-boot-2.7.2.jar:2.7.2] at org.springframework.boot.SpringApplication.run(SpringApplication.java:308) [spring-boot-2.7.2.jar:2.7.2] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1306) [spring-boot-2.7.2.jar:2.7.2] at org.springframework.boot.SpringApplication.run(SpringApplication.java:1295) [spring-boot-2.7.2.jar:2.7.2] at cn.zczx.base.admin.AdminApplication.main(AdminApplication.java:10) [classes/:na] Caused by: java.lang.NullPointerException: null at springfox.documentation.spring.web.WebMvcPatternsRequestConditionWrapper.getPatterns(WebMvcPatternsRequestConditionWrapper.java:56) ~[springfox-spring-webmvc-3.0.0.jar:3.0.0] at springfox.documentation.RequestHandler.sortedPaths(RequestHandler.java:113) ~[springfox-core-3.0.0.jar:3.0.0] at springfox.documentation.spi.service.contexts.Orderings.lambda$byPatternsCondition$3(Orderings.java:89) ~[springfox-spi-3.0.0.jar:3.0.0] at java.util.Comparator.lambda$comparing$77a9974f$1(Comparator.java:469) ~[na:1.8.0_131] at java.util.TimSort.countRunAndMakeAscending(TimSort.java:355) ~[na:1.8.0_131] at java.util.TimSort.sort(TimSort.java:234) ~[na:1.8.0_131] at java.util.Arrays.sort(Arrays.java:1512) ~[na:1.8.0_131] at java.util.ArrayList.sort(ArrayList.java:1454) ~[na:1.8.0_131] at java.util.stream.SortedOps$RefSortingSink.end(SortedOps.java:387) ~[na:1.8.0_131] at java.util.stream.Sink$ChainedReference.end(Sink.java:258) ~[na:1.8.0_131] at java.util.stream.Sink$ChainedReference.end(Sink.java:258) ~[na:1.8.0_131] at java.util.stream.Sink$ChainedReference.end(Sink.java:258) ~[na:1.8.0_131] at java.util.stream.Sink$ChainedReference.end(Sink.java:258) ~[na:1.8.0_131] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:482) ~[na:1.8.0_131] at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[na:1.8.0_131] at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[na:1.8.0_131] at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:1.8.0_131] at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ~[na:1.8.0_131] at springfox.documentation.spring.web.plugins.WebMvcRequestHandlerProvider.requestHandlers(WebMvcRequestHandlerProvider.java:81) ~[springfox-spring-webmvc-3.0.0.jar:3.0.0] at java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:193) ~[na:1.8.0_131] at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(ArrayList.java:1374) ~[na:1.8.0_131] at java.util.stream.AbstractPipeline.copyInto(AbstractPipeline.java:481) ~[na:1.8.0_131] at java.util.stream.AbstractPipeline.wrapAndCopyInto(AbstractPipeline.java:471) ~[na:1.8.0_131] at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(ReduceOps.java:708) ~[na:1.8.0_131] at java.util.stream.AbstractPipeline.evaluate(AbstractPipeline.java:234) ~[na:1.8.0_131] at java.util.stream.ReferencePipeline.collect(ReferencePipeline.java:499) ~[na:1.8.0_131] at springfox.documentation.spring.web.plugins.AbstractDocumentationPluginsBootstrapper.withDefaults(AbstractDocumentationPluginsBootstrapper.java:107) ~[springfox-spring-web-3.0.0.jar:3.0.0] at springfox.documentation.spring.web.plugins.AbstractDocumentationPluginsBootstrapper.buildContext(AbstractDocumentationPluginsBootstrapper.java:91) ~[springfox-spring-web-3.0.0.jar:3.0.0] at springfox.documentation.spring.web.plugins.AbstractDocumentationPluginsBootstrapper.bootstrapDocumentationPlugins(AbstractDocumentationPluginsBootstrapper.java:82) ~[springfox-spring-web-3.0.0.jar:3.0.0] at springfox.documentation.spring.web.plugins.DocumentationPluginsBootstrapper.start(DocumentationPluginsBootstrapper.java:100) ~[springfox-spring-web-3.0.0.jar:3.0.0] at org.springframework.context.support.DefaultLifecycleProcessor.doStart(DefaultLifecycleProcessor.java:178) ~[spring-context-5.3.22.jar:5.3.22] ... 14 common frames omitted 已与地址为 ''127.0.0.1:55092',传输: '套接字'' 的目标虚拟机断开连接 进程已结束,退出代码为 1
最新发布
05-28
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值