我有一个多模块构建,创建多个包类型为“bundle”的 Artifact 。
其中一些在编译时在 META-INF 目录中创建一些信息,有些则不会。
我尝试在父 pom.xml 中定义一条指令,将 META-INF 目录作为资源添加到 bundle 中。 不幸的是,对于那些在构建期间未创建 META-INF 目录的 Artifact ,这会失败。
我试图避免在当前创建 META-INF 目录的所有模块上定义此规则,因为
- 有很多
- 也许其他人将来会创建 META-INF 目录,这将要求 future 的开发人员知道他们现在必须将此目录添加为资源。
是否可以以某种方式使此“include-resource”指令成为可选,这意味着如果缺少此资源,它会忽略该资源?
<plugin>
<groupId>org.apache.felix</groupId>
<artifactId>maven-bundle-plugin</artifactId>
<version>3.5.0</version>
<configuration>
<instructions>
<Include-Resource>META-INF=${project.build.outputDirectory}/META-INF</Include-Resource>
</instructions>
</configuration>
</plugin>
最佳答案
在资源模式前加上 -
就足够了,例如:
<Include-Resource>-META-INF=${project.build.outputDirectory}/META-INF</Include-Resource>
文档 here .
关于java - 将 maven-bundle-plugin 包含的资源声明为可选,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54464225/