今天在迁移一个项目,结果成功启动,但是在登录的时候,提示如下错误!翻译发现是因为签名不匹配。百度说是因为jar包冲突了。

java.lang.SecurityException: class “org.bouncycastle.crypto.digests.GeneralDigest”'s signer information does not match signer information of other classes in the same package

  1. 原来这个resources下面的libs中我手动导入了这个 bcprov-jdk16-145.jar
    在这里插入图片描述
  2. 删除16版本后,再次build,启动项目发现还是不行。在外部库中查找,果然有冲突的。
    在这里插入图片描述
  3. 用gradle下help的dependencies来分析一下。结果在 tencentyun:tls-sig-api 包中依赖了 bcpkix-jdk15on ,在 org.xhtmlrenderer:flying-saucer-pdf 中依赖了 bouncycastle:bcprov-jdk14 。那么我们排除 org.xhtmlrenderer:flying-saucer-pdf 中的 bouncycastle:bcprov-jdk14
    在这里插入图片描述
+--- com.github.tencentyun:tls-sig-api:1.2
|    +--- org.bouncycastle:bcpkix-jdk15on:1.59
|    |    \--- org.bouncycastle:bcprov-jdk15on:1.59
|    +--- org.bouncycastle:bcprov-jdk15on:1.59
|    \--- org.json:json:20180130
+--- org.xhtmlrenderer:flying-saucer-pdf:9.0.3
|    +--- com.lowagie:itext:2.1.7
|    |    +--- bouncycastle:bcmail-jdk14:138
|    |    +--- bouncycastle:bcprov-jdk14:138
|    |    \--- bouncycastle:bctsp-jdk14:138
|    |         \--- org.bouncycastle:bctsp-jdk14:1.38
|    |              \--- org.bouncycastle:bcmail-jdk14:1.38
|    \--- org.xhtmlrenderer:flying-saucer-core:9.0.3
  1. 修改build.gradle
compile('org.xhtmlrenderer:flying-saucer-pdf:9.0.3'){
     exclude group: 'bouncycastle', module: 'bcprov-jdk14'
     exclude group: 'org.bouncycastle', module: 'bcprov-jdk14'
                    前言:今天在迁移一个项目,结果成功启动,但是在登录的时候,提示如下错误!翻译发现是因为签名不匹配。百度说是因为jar包冲突了。错误提示java.lang.SecurityException: class “org.bouncycastle.crypto.digests.GeneralDigest”'s signer information does not match signer information of other classes in the same package排查原来这个res
对于很多刚接触java语言的初学者来说,要了解一门语言,最好的方式就是要能从基础的版本进行了解,升级的过程,以及升级的新特性,这样才能循序渐进的学好一门语言。今天先为大家介绍一下JDK1.5版本到JDK1.7版本的特性。希望能给予帮助。
JDK1.5新特性:
 1.自动装箱与拆箱:
自动装箱的过程:每当需要一种类型的对象时,这种基本类
因为自己本身是做互联网金融业务,平时会对接比较多的银行,最近对接的一家给的加解密包,版本比较低导致在现有项目中不能使用,bcprov-jdk16-1.46.jar (12年的包),直接在现有项目中引入的话,直接报错。
Exception in thread "main" java.lang.IllegalAccessError: tried to access method
 org.bouncycastle.math.ec.ECPoint$Fp.<init>(Lorg/bouncyc
				
bcprov-jdk15on 简介、中文文档、中英对照文档 下载;bcprov-jdk15on、org.bouncycastle、中文文档、中英对照文档、下载、包含jar包、原API文档、源代码、Maven依赖信息文件、翻译后的API文档、jdk15on、bouncycastle、bcprovjar包、java、中英对照文档;bcprov-jdk15on-1.68.jarbcprov-jdk15on-1.60.jarbcprov-jdk15on-1.59.jarbcprov-jdk15on-1.58
赠送jar包:bcprov-jdk15on-1.59.jar; 赠送原API文档:bcprov-jdk15on-1.59-javadoc.jar; 赠送源代码:bcprov-jdk15on-1.59-sources.jar; 赠送Maven依赖信息文件:bcprov-jdk15on-1.59.pom; 包含翻译后的API文档:bcprov-jdk15on-1.59-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.bouncycastle:bcprov-jdk15on:1.59; 标签:bouncycastle、bcprovjdk15on、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
注:下文中的 *** 代表文件名中的版本号。 # 【bcprov-jdk15on-***.jar中文文档.zip】 中包含: 中文文档:【bcprov-jdk15on-***-javadoc-API文档-中文(简体)版.zip】 jar包下载地址:【bcprov-jdk15on-***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【bcprov-jdk15on-***.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【bcprov-jdk15on-***.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【bcprov-jdk15on-***-sources.jar下载地址(官方地址+国内镜像地址).txt】 # 本文件关键字: bcprov-jdk15on-***.jar中文文档.zip,java,bcprov-jdk15on-***.jar,org.bouncycastle,bcprov-jdk15on,***,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,bouncycastle,bcprov,jdk15on,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【bcprov-jdk15on-***.jar中文文档.zip】,再解压其中的 【bcprov-jdk15on-***-javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件; # Maven依赖: <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk15on</artifactId> <version>***</version> </dependency> # Gradle依赖: Gradle: implementation group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: '***' Gradle (Short): implementation 'org.bouncycastle:bcprov-jdk15on:***' Gradle (Kotlin): implementation("org.bouncycastle:bcprov-jdk15on:***") # 含有的 Java package(包)(此处仅列举3个): org.bouncycastle org.bouncycastle.asn1 org.bouncycastle.asn1.anssi ...... # 含有的 Java class(类)(此处仅列举3个): org.bouncycastle.LICENSE org.bouncycastle.asn1.ASN1ApplicationSpecific org.bouncycastle.asn1.ASN1ApplicationSpecificParser ......
注:下文中的 *** 代表文件名中的版本号。 # 【bcprov-jdk15on-***.jar中文文档.zip】 中包含: 中文文档:【bcprov-jdk15on-***-javadoc-API文档-中文(简体)版.zip】 jar包下载地址:【bcprov-jdk15on-***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【bcprov-jdk15on-***.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【bcprov-jdk15on-***.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【bcprov-jdk15on-***-sources.jar下载地址(官方地址+国内镜像地址).txt】 # 本文件关键字: bcprov-jdk15on-***.jar中文文档.zip,java,bcprov-jdk15on-***.jar,org.bouncycastle,bcprov-jdk15on,***,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,bouncycastle,bcprov,jdk15on,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【bcprov-jdk15on-***.jar中文文档.zip】,再解压其中的 【bcprov-jdk15on-***-javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件; # Maven依赖: <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk15on</artifactId> <version>***</version> </dependency> # Gradle依赖: Gradle: implementation group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: '***' Gradle (Short): implementation 'org.bouncycastle:bcprov-jdk15on:***' Gradle (Kotlin): implementation("org.bouncycastle:bcprov-jdk15on:***") # 含有的 Java package(包)(此处仅列举3个): org.bouncycastle org.bouncycastle.asn1 org.bouncycastle.asn1.anssi ...... # 含有的 Java class(类)(此处仅列举3个): org.bouncycastle.LICENSE org.bouncycastle.asn1.ASN1ApplicationSpecific org.bouncycastle.asn1.ASN1ApplicationSpecificParser ......
注:下文中的 *** 代表文件名中的版本号。 # 【bcprov-jdk15on-***.jar中文文档.zip】 中包含: 中文文档:【bcprov-jdk15on-***-javadoc-API文档-中文(简体)版.zip】 jar包下载地址:【bcprov-jdk15on-***.jar下载地址(官方地址+国内镜像地址).txt】 Maven依赖:【bcprov-jdk15on-***.jar Maven依赖信息(可用于项目pom.xml).txt】 Gradle依赖:【bcprov-jdk15on-***.jar Gradle依赖信息(可用于项目build.gradle).txt】 源代码下载地址:【bcprov-jdk15on-***-sources.jar下载地址(官方地址+国内镜像地址).txt】 # 本文件关键字: bcprov-jdk15on-***.jar中文文档.zip,java,bcprov-jdk15on-***.jar,org.bouncycastle,bcprov-jdk15on,***,jar包,Maven,第三方jar包,组件,开源组件,第三方组件,Gradle,bouncycastle,bcprov,jdk15on,中文API文档,手册,开发手册,使用手册,参考手册 # 使用方法: 解压 【bcprov-jdk15on-***.jar中文文档.zip】,再解压其中的 【bcprov-jdk15on-***-javadoc-API文档-中文(简体)版.zip】,双击 【index.html】 文件,即可用浏览器打开、进行查看。 # 特殊说明: ·本文档为人性化翻译,精心制作,请放心使用。 ·只翻译了该翻译的内容,如:注释、说明、描述、用法讲解 等; ·不该翻译的内容保持原样,如:类名、方法名、包名、类型、关键字、代码 等。 # 温馨提示: (1)为了防止解压后路径太长导致浏览器无法打开,推荐在解压时选择“解压到当前文件夹”(放心,自带文件夹,文件不会散落一地); (2)有时,一套Java组件会有多个jar,所以在下载前,请仔细阅读本篇描述,以确保这就是你需要的文件; # Maven依赖: <dependency> <groupId>org.bouncycastle</groupId> <artifactId>bcprov-jdk15on</artifactId> <version>***</version> </dependency> # Gradle依赖: Gradle: implementation group: 'org.bouncycastle', name: 'bcprov-jdk15on', version: '***' Gradle (Short): implementation 'org.bouncycastle:bcprov-jdk15on:***' Gradle (Kotlin): implementation("org.bouncycastle:bcprov-jdk15on:***") # 含有的 Java package(包)(此处仅列举3个): org.bouncycastle org.bouncycastle.asn1 org.bouncycastle.asn1.anssi ...... # 含有的 Java class(类)(此处仅列举3个): org.bouncycastle.LICENSE org.bouncycastle.asn1.ASN1ApplicationSpecific org.bouncycastle.asn1.ASN1ApplicationSpecificParser ......
关于java的国密算法原理以及sm2、sm3、sm4的演示demo,很多博主都写过。但是如果说自身项目中用到的bcprov这个依赖jar包的版本,和别人博客里演示的不一样,或者说引用了多个版本bcprovjar包,这种情况怎么办呢?一般有两个方案,第一个是直接全部白嫖别人的版本,这种方案不是本文所讲内容。另一种方案就是弄明白每个版本依赖包的区别,这样我们的项目就可以只保留一个版本的依赖包了,而且想要留哪一个版本也不在话下。重要说明: 在看代码前我做一些说明,bcprov这个包在高版本中增加了一些国密相关的
Caused by: java.lang.IllegalStateException: Unable to complete the scan for annotations for web
赠送jar包:bcprov-jdk15on-1.58.jar; 赠送原API文档:bcprov-jdk15on-1.58-javadoc.jar; 赠送源代码:bcprov-jdk15on-1.58-sources.jar; 赠送Maven依赖信息文件:bcprov-jdk15on-1.58.pom; 包含翻译后的API文档:bcprov-jdk15on-1.58-javadoc-API文档-中文(简体)版.zip; Maven坐标:org.bouncycastle:bcprov-jdk15on:1.58; 标签:bouncycastle、bcprovjdk15on、中文文档、jar包、java; 使用方法:解压翻译后的API文档,用浏览器打开“index.html”文件,即可纵览文档内容。 人性化翻译,文档中的代码和结构保持不变,注释和说明精准翻译,请放心使用。
bcprov-jdk15on是一个开源的加密库,主要用于在Java平台上实现各种加密和安全算法。它提供了丰富的加密和安全服务,如密码学的加解密算法、数字签名和验证、安全哈希函数、密钥管理和生成等服务。bcprov-jdk15on是Bouncy Castle加密库的一部分,它是一个在Java平台上提供各种密码服务的开源项目。bcprov-jdk15on可以被广泛应用于网络安全、电子商务、金融行业等领域。该库采用轻量级设计,具有高度扩展性和可移植性,提供了Java组件的API调用,可以轻松地集成到Java应用程序中。bcprov-jdk15on的代码在线上可以被访问和修改,可以随时满足用户的需求。总之,bcprov-jdk15on是一个强大的加密库,为Java平台上的安全通信和数据保护提供了坚实的基础。
@Test public void testQueryTask() { ProcessEngine processEngine = configuration.buildProcessEngine(); TaskService taskService = processEngine.getTaskService(); List<Task> list = taskService.createTaskQuery() // 指定查询流程编号 .processDefinitionKey("holidayRequest") // 指定任务处理人 .taskAssignee("whx").list(); list.forEach(task -> { System.out.println("task.getProcessDefinitionId() = " + task.getProcessDefinitionId()); System.out.println("task.getName() = " + task.getName()); System.out.println("task.getAssignee() = " + task.getAssignee()); System.out.println("task.getDescription() = " + task.getDescription()); System.out.println("task.getId() = " + task.getId()); 分布式文件存储Minio学习入门 Huathy-雨落江南,浮生若梦: 分布式文件存储Minio学习入门 额JS稀饭: 分布式文件存储Minio学习入门 Huathy-雨落江南,浮生若梦: 本地开发测试按照第一种方式启动就好了,是没有纠错冗余的,具体的要找一下官方文档哦表情包