在Karaf中运行(OSGi)无法加载io.jasonwebtoken.impl.crypto.MacProvider类
jjwt的版本是0.11.1
我的捆绑包包括jjwt-api(提供)和jjwt-jackson(编译),我让jjwt-impl作为捆绑包运行。
我需要创建一个“大型捆绑包”来进行这项工作吗?
所以,我得到了这个工作,但并不理想。
首先,jjwt-impl尽管具有所有正常的OSGi标签,但不导出任何内容。
所以,我不得不做两件事-非常糟糕,但是我不知道该怎么办:
1)替换对当前包类加载器的签名方法调用周围的线程类加载器。
2)将jjwt-impl嵌入到调用的osgi包中并导出:
<Embed-Dependency>*;scope=runtime;inline=true</Embed-Dependency>
<Embed-Transitive>false</Embed-Transitive>
<Export-Package>
{local-packages},
io.jsonwebtoken,
io.jsonwebtoken.lang,
io.jsonwebtoken.impl.crypto
</Export-Package>