如何使用jar中的资源文件加载接口实现

问题描述

我尝试从带有从 application.property 文件加载数据的字段的 jar 加载一些实现。我有类似的项目结构

main project
|-src
  |-main
    |-loader

models project
|-src
  |-models
    |-SomeService

extension project
|-src
| |-impl
|   |-SomeServiceImpl
|-resources
  |-meta-inf.services
    |-models.someService(in this file I have path to impl)
  |-application.properties

所以在主项目中我有加载器

private fun getService(): SomeService =
    ServiceLoader.load(SomeService::class.java)
        ?.first { /*some filter*/ }
        ?: BaseSomeServiceImpl()

Loader 工作正常,但在每个扩展文件中我都有 application.property 项目,该项目在 SomeService 的实现中注入了字段,但值未设置为字段。

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)