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

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 c语言怎么用printf(“\b \b”)与getch()实现黑框里写入与删除?
  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?