就是那个马冰冰 2021-01-25 08:50 采纳率: 57.1%
浏览 42
已结题

springboot,自己的start怎么访问调用者的resource?

springboot项目,我有一个基础服务baseA,然后想把baseA做成一个启动器start,这样自动配置注入,可以最大程度的减少调用者的代码书写,直接引入baseA就可以了.
baseA的作用,就是拿来加载调用者项目下的license文件,帮他做鉴权的.但是现在我把baseA提供给实际的项目projectB调用.发现文件获取报错.
我baseA里面写的是new ClassPathResource(path)的方式.能够获取baseA自己的resource下的资源.
但是放到projectB上使用时,就会报

cannot be resolved to absolute file path because it does not reside in the file system: jar:file:/D:baseA.jar!/license.lic

找不到资源.看打印,他访问的是已经打成jar包的baseA.jar下面的自己的license文件.
但我想让他访问的是调用者的resource资源,怎么修改baseA代码?虚心求教,还请大神不吝赐教.

  • 写回答

11条回答 默认 最新

  • 紫宇寰 2021-01-25 11:01
    关注

    如果A的内部逻辑依赖B的配置文件,那为什么不把文件直接放在A里面呢?

    想要免代码直接执行肯定是不行的

    如果你需要用B里面的licence文件,去注册,然后才能实现A里面的功能,那建议你在A里面暴露一个端点,B需要先用licence文件用这个端点去注册,然后A获取到这个licence后,校验通过后给到一个标记位,后续的功能通过这个标记位去判断权限,是否能使用某些功能

    上述的这个注册过程,必须是B主动去注册的,而没办法用A主动拉取B的文件

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(10条)

报告相同问题?

悬赏问题

  • ¥15 想问问富文本拿到的html怎么转成docx的
  • ¥15 我看了您的文章,遇到了个问题。
  • ¥15 GitHubssh虚拟机连接不上
  • ¥15 装完kali之后下载Google输入法 重启电脑后出现以下状况 且退不出去 桌面消失 反复重启没用
  • ¥15 ESP-IDP-BLE配网连接wifi
  • ¥15 ue2.6.12版本用的若以,安装gojs,引入import * as go from 'gojs';报错
  • ¥15 服务器上的网站安装php5.6版本
  • ¥15 请大咖一起探索iptv 直播源的hls通过反向代理解密
  • ¥100 寻找技术员 云闪付tn转h5输入卡号付款的链接 重酬!
  • ¥100 科大讯飞语音唤醒词,unbuntu环境,报错