ant - BND Ant 任务 - 包装非 OSGi jar

标签 ant osgi bnd

我正在尝试使用 Ant bndwrap 任务将非 OSGi jar 包装在一个目录中。我当前的 Ant 配置是:

<target name="wrap-jars" description="Wrap non-OSGi jars">
    <taskdef resource="aQute/bnd/ant/taskdef.properties" classpath="${biz.aQute:bnd:jar}"/>
    <bndwrap output="${dist.dir}/app-modules">
        <fileset dir="${dist.dir}/app-modules" includes="*.jar" />
    </bndwrap>
    <move overwrite="true" todir="${dist.dir}/app-modules" >
        <fileset dir="${dist.dir}/app-modules" includes="*.bar" />
        <mapper type="glob" from="*.bar" to="*.jar" />
    </move>
</target>

这工作正常,但问题是它还包装了现有的 OSGi jar,这会导致问题。例如,我注意到它将 Bundle-SymbolicName header 更改为某个默认值。它可能正在改变其他我不想要的东西。我只希望它在根本没有 OSGi 信息的 jar 上运行。

有没有什么方法可以告诉 BND 忽略 list 中现有的 OSGi header ,或者忽略已经 OSGi 化的完整 jar?

最佳答案

我会将非 OSGi jar 存储在单独的文件夹中并修改 fileset 以仅处理该文件夹。

关于ant - BND Ant 任务 - 包装非 OSGi jar ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8168919/

相关文章:

java - 在 Ant 任务中运行 "headless Eclipse"

java - 递归 move 和重命名文件和文件夹的 ANT 任务

java - 创建可扩展的 Java 库 (JAR)

java - Eclipse OSGi Framwork 启动器可用 bundle

jaxb - 如何在 osgi (Liferay DXP) 中使用 JAXB 2.2.11

java - DS 组件的生命周期如何运作?

当我合法地保留一个对象时,黑莓单元测试抛出异常

java - 你如何从osgi中的字节反序列化一个对象

gradle - Liferay 7 服务模块 Unresolved 需求

sql - 通过 Ant 构建文件创建数据库(而不是填充它)