我正在尝试 Package 以下aws库: aws-java-sdk-sts
以及 aws-java-sdk-core
以便将它们用作osgi包。
它们都是 com.amazonaws.auth
包裹。
如果我把它们 Package 成:
<bundle start-level="80">
<![CDATA[wrap:mvn:com.amazonaws/aws-java-sdk-sts/1.11.534$Export-Package=com.amazonaws.auth.*,com.amazonaws.*]]>
</bundle>
<bundle start-level="80">
<![CDATA[wrap:mvn:com.amazonaws/aws-java-sdk-core/1.11.534$Export-Package=com.amazonaws.auth.*,com.amazonaws.*]]>
</bundle>
卡拉夫自鸣得意地说,有两个链路径为 com.amazonaws.auth
Package (从 aws-java-sdk-sts
一个来自 aws-java-sdk-core
).
因此,我做了以下工作:
<bundle start-level="80">
<![CDATA[wrap:mvn:com.amazonaws/aws-java-sdk-sts/1.11.534$Export-Package=com.amazonaws.auth.*;-split-package:=merge-first,com.amazonaws.*]]>
</bundle>
<bundle start-level="80">
<![CDATA[wrap:mvn:com.amazonaws/aws-java-sdk-core/1.11.534$Export-Package=com.amazonaws.auth.*;-split-package:=merge-first,com.amazonaws.*&Import-Package=*;resolution:=optional,com.amazonaws.auth,com.amazonaws.auth.policy,com.amazonaws.auth.policy.actions]]>
</bundle>
现在两个包都从
aws-java-sdk-sts com.amazonaws.auth
包,从而导致 java.lang.NoClassDefFoundError
每次我引用
aws-java-sdk-CORE com.amazonaws.auth
包裹。
我也试过了 -split-package:=merge-last
没有成功。
有没有办法加载 com.amazonaws.auth
来自两个的包 aws-java-sdk-sts
以及 aws-java-sdk-core
为了能够在运行时引用它们?
蒂亚!
暂无答案!
目前还没有任何答案,快来回答吧!