当前位置: 首页 > article >正文

解决Gradle引入依赖时报错 Caused by: java.io.FileNotFoundException问题

问题说明:

        1、Gradle项目在引入spring配置项加密包:

        build.gradle引入依赖:

implementation 'com.github.ulisesbocchio:jasypt-spring-boot-starter:3.0.5'

        启动时报错:

Caused by: java.io.FileNotFoundException: class path resource [com/ulisesbocchio/jasyptspringboot/configuration/EnableEncryptablePropertiesConfiguration.class] cannot be opened because it does not exist

定位过程:

1、查看idea的gradle配置和环境变量,无误

2、项目中配置的先加载maven库,查看配置maven中没有该依赖,说明是gradle自行引入的

3、找到gradle依赖的地址,进入查看是否有该依赖(gradle依赖存储的地址比较复杂,在cache下多个子目录,建议直接通过idea编译器的open in explorer查看),可以看到本地确实有依赖包,初步判断是依赖包没引入全,有类缺失

4 直接通过缺失的类路径查看该类是否存在,点击缺失包的上层旅路径跳转原,查看依赖结构,发现确实不存在该类,猜测应该是依赖传递问题,依赖包内部引入的其他依赖未加载

5.查看该依赖包的pom结构,应该是缺少的这个依赖

6.查看我们的gradle配置,果然禁用了依赖传递

结论:

        依赖传递被禁用导致包引入不全

解决方式:

1、方案一:关闭禁用依赖传递的配置(具体看项目情况,若会产生其他依赖冲突等后果则选择其他方案)

2、方案二:手动引入缺失依赖,这里我在build.gradle引入的缺失的依赖com.github.ulisesbocchio:jasypt-spring-boot:3.0.5: 以及它引入的子依赖org.jasypt:jasypt:1.9.3

implementation 'com.github.ulisesbocchio:jasypt-spring-boot-starter:3.0.5'
implementation 'com.github.ulisesbocchio:jasypt-spring-boot:3.0.5'
implementation('org.jasypt:jasypt:1.9.3')

重新编译运行成功

3、方案三:没有方案三


http://www.kler.cn/a/523060.html

相关文章:

  • 大数据治理实战:架构、方法与最佳实践
  • 51单片机开发:定时器中断
  • 学习数据结构(2)空间复杂度+顺序表
  • 三角形的最大周长(LeetCode 976)
  • 【10.2】队列-设计循环队列
  • WS2812 梳理和颜色表示方法的对比:RGB和HSV
  • CTF-web: YAML是什么
  • 元宇宙与Facebook:社交互动的未来方向
  • Jetpack架构组件学习——使用Glance实现桌面小组件
  • 相互作用感知的蛋白-小分子对接模型 - Interformer 评测
  • 算法题(50):删除排序链表中的重复元素 II
  • ML基础——分类模型的评估指标
  • STM32 TIM定时器配置
  • 虚幻基础08:组件接口
  • 在ubuntu下一键安装 Open WebUI
  • 能够对设备的历史数据进行学习与分析,通过与设备当前状态的比对,识别潜在故障并做出预判的名厨亮灶开源了。
  • 宝塔安装完redis 如何访问
  • 信息学奥赛一本通 1396:病毒(virus)
  • c++多态
  • JavaScript逆向高阶指南:突破基础,掌握核心逆向技术
  • Nginx 开发总结
  • 《网络数据安全管理条例》施行,企业如何推进未成年人个人信息保护(上)
  • 深入探索C++17的std::any:类型擦除与泛型编程的利器
  • STM32 LED呼吸灯
  • pycharm(2)
  • noteboolm 使用笔记