maven-bundle-plugin包括不存在的依赖项

问题描述 投票:0回答:1

我对Eclipse Plugin Project中的“ maven-bundle-plugin”有一个固定的问题。

[当我编译项目时,我在Manifest.xml的“ Import-Package”部分上看到很多Java包导入,这些类导入了很多我的类路径中不存在的包,例如:

Import-Package: 
COM.newmonics.PercClassLoader,
android.os,
bitronix.tm,
bitronix.tm.jndi,
bitronix.tm.resource.common,
bitronix.tm.resource.jdbc,
bitronix.tm.resource.jms,
bsh,
com.arjuna.ats.arjuna.common,
com.arjuna.ats.arjuna.recovery,
com.arjuna.ats.internal.jdbc,
com.arjuna.ats.internal.jta.recovery.arjunacore,
com.arjuna.ats.jbossatx.jta,

所有这些软件包都不存在于我的项目或依赖项中,但是maven-bundle-plugin将其添加到清单中,我不知道为什么。有什么想法或建议吗?谢谢。

maven eclipse-plugin osgi-bundle
1个回答
0
投票

捆绑插件为您的项目引用的软件包生成Import-Package。这些是其他捆绑软件应导出的软件包,以便您的捆绑软件可以在运行时使用它们。我的第一个猜测是您的类引用了这些包,因此请首先检查您的源代码。

如果您的项目确实没有引用这些软件包,请检查您的pom.xml是否已在插件配置的<Import-Package>指令中指定了这些软件包。也许是从另一个项目复制/粘贴的?

也可能是您在捆绑包中嵌入了引用这些包的依赖项。要找出答案,您可以解压缩jar文件(例如,使用rjar工具),然后递归grep类文件,例如bitronix/tm

© www.soinside.com 2019 - 2024. All rights reserved.