【问题标题】:Declare resource included by maven-bundle-plugin as optional将 maven-bundle-plugin 包含的资源声明为可选
【发布时间】:2019-06-25 03:05:55
【问题描述】:

我有一个多模块构建,创建了多个包类型为“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>

【问题讨论】:

    标签: java maven osgi osgi-bundle maven-bundle-plugin


    【解决方案1】:

    在资源模式前加上- 就足够了,例如:

    <Include-Resource>-META-INF=${project.build.outputDirectory}/META-INF</Include-Resource>
    

    文档here

    【讨论】:

    • 太好了,谢谢!我只是查看了 maven-bundle-plugin 的文档 :(
    猜你喜欢
    • 2019-08-11
    • 2016-09-21
    • 1970-01-01
    • 2012-07-16
    • 1970-01-01
    • 2013-07-07
    • 1970-01-01
    • 1970-01-01
    • 2017-01-29
    相关资源
    最近更新 更多