将 maven-bundle-plugin 包含的资源声明为可选
Declare resource included by maven-bundle-plugin as optional
我有一个多模块构建,创建了包类型为 "bundle" 的多个工件。
其中一些在编译期间在 META-INF 目录中创建一些信息,一些则不会。
我试图在父 pom.xml 中定义一条指令,将 META-INF 目录作为资源添加到包中。
不幸的是,对于那些在构建期间没有创建 META-INF 目录的工件,这会失败。
自
以来,我试图避免在当前创建 META-INF 目录的所有模块上定义此规则
- 还有很多
- 也许其他人将来会创建 META-INF 目录,这将要求未来的开发人员知道他们现在必须将此目录添加为资源。
是否有可能以某种方式使此 "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.
我有一个多模块构建,创建了包类型为 "bundle" 的多个工件。
其中一些在编译期间在 META-INF 目录中创建一些信息,一些则不会。
我试图在父 pom.xml 中定义一条指令,将 META-INF 目录作为资源添加到包中。 不幸的是,对于那些在构建期间没有创建 META-INF 目录的工件,这会失败。
自
以来,我试图避免在当前创建 META-INF 目录的所有模块上定义此规则- 还有很多
- 也许其他人将来会创建 META-INF 目录,这将要求未来的开发人员知道他们现在必须将此目录添加为资源。
是否有可能以某种方式使此 "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.