2015-11-05 27 views
0

我想知道如何配置maven-bundle-plugin(由bnd支持)以完全忽略嵌入jar中包含的类。不要加载/扫描来自特定jar的类文件

背景

我在我的代码运行的环境是由一个单一的公司(包括所有的工具)定义的控制的环境中工作。代码是java并使用OSGi来定义模块依赖关系。

某些提供的模块包含看起来像无效的类文件,我只能假设系统会在尝试将这些类文件加载到任何类型的JVM之前“更正”这些类文件。无论如何,这些类文件在部署到目标系统上时都能正常工作。

我想创建一个基于Maven的生成系统,该系统可以生成软件包,系统可以理解,并且遇到了导致错误的BND(通过apache-felix)读取这些无效类文件的问题。

我想要一个方法来让包的类路径上包含这些类文件,但包含.class文件不被bnd读取/处理。我可以解决的只是无视错误,并继续,但无法找到一种方法来做到这一点,或者没有felix中止整个构建阶段。

回答

0

我刚刚找到-failok指令,不知道为什么我以前没有找到它。在说明中添加<_failok>true</_failok>可以让我继续工作。

instructions-ref

+0

如果有人想出了一个更好的(少哈克)解决方案,那么我会改变接受的答案,现在我要离开这里。 – Matt