SpringBoot中org.bouncycastle.openssl.PEMParser导入失败求助
问题:SpringBoot项目无法导入
org.bouncycastle.openssl.PEMParser 我在SpringBoot项目中尝试导入import org.bouncycastle.openssl.PEMParser,但始终无法成功。我的build.gradle中已配置依赖implementation 'org.bouncycastle:bcprov-jdk15on:1.70',且查找到的参考资料均使用该类。我已经尝试了谷歌搜索解决方案、更换库版本、清除IntelliJ缓存等操作,问题仍未解决。
我的build.gradle配置如下:
plugins { id 'java' id 'org.springframework.boot' version '2.5.9' id 'io.spring.dependency-management' version '1.1.0' } group = 'tellingme' version = '0.0.1-SNAPSHOT' sourceCompatibility = '11' configurations { compileOnly { extendsFrom annotationProcessor } } repositories { mavenCentral() } dependencies { implementation 'org.springframework.boot:spring-boot-starter-data-jpa' implementation 'org.springframework.boot:spring-boot-starter-web' implementation 'org.springframework.boot:spring-boot-starter-validation' implementation 'org.projectlombok:lombok:1.18.20' implementation 'org.jetbrains:annotations:20.1.0' implementation 'org.jetbrains:annotations:20.1.0' compileOnly 'org.projectlombok:lombok' annotationProcessor 'org.projectlombok:lombok' testImplementation 'org.springframework.boot:spring-boot-starter-test' runtimeOnly 'mysql:mysql-connector-java:8.0.30' implementation group: 'io.springfox', name: 'springfox-swagger-ui', version: '2.9.2' implementation group: 'io.springfox', name: 'springfox-swagger2', version: '2.9.2' implementation 'io.jsonwebtoken:jjwt:0.9.1' testCompileOnly 'org.projectlombok:lombok' testAnnotationProcessor 'org.projectlombok:lombok' implementation 'org.springframework.boot:spring-boot-starter-security:2.7.5' implementation 'org.springframework.boot:spring-boot-starter-actuator' runtimeOnly 'io.micrometer:micrometer-registry-prometheus' implementation group: 'com.googlecode.json-simple', name: 'json-simple', version: '1.1.1' implementation 'com.github.maricn:logback-slack-appender:1.4.0' implementation 'com.opencsv:opencsv:5.5' implementation 'org.springframework.boot:spring-boot-starter-mail' implementation 'com.google.firebase:firebase-admin:6.8.1' implementation group: 'com.squareup.okhttp3', name: 'okhttp', version: '4.2.2' implementation 'org.bouncycastle:bcprov-jdk15on:1.70' } jar { enabled = false }
解决方案
核心问题:
PEMParser类并不在bcprov-jdk15on包中,而是属于bcpkix-jdk15on包。你当前的依赖只引入了基础加密包,缺少处理PKIX(公钥基础设施)和SSL相关工具的包。修复步骤:
- 在build.gradle的dependencies块中添加以下依赖,版本保持和bcprov一致:
implementation 'org.bouncycastle:bcpkix-jdk15on:1.70' - 点击IntelliJ中的「Sync Now」按钮,重新同步Gradle依赖。
- 再次尝试导入
org.bouncycastle.openssl.PEMParser,此时应该可以正常识别。
- 在build.gradle的dependencies块中添加以下依赖,版本保持和bcprov一致:
额外检查:
- 确保你的SpringBoot版本(2.5.9)和BouncyCastle 1.70版本兼容,两者不存在冲突。
- 如果同步后仍有问题,可以尝试执行
./gradlew clean build --refresh-dependencies命令,强制刷新依赖并重新构建项目。
内容的提问来源于stack exchange,提问作者이기태
相关产品推荐
相关产品推荐

