Я пытаюсь использовать задачу Ant bndwrap
для переноса файлов jar, отличных от OSGi, в каталог. Моя текущая конфигурация 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>
Это прекрасно работает, но проблема в том, что он также обертывает существующий jar OSGi, что вызывает проблемы. Например, я заметил, что он изменяет заголовок Bundle-SymbolicName
на какое-то значение по умолчанию. Это может быть изменение чего-то еще, чего я не хочу. Я хочу, чтобы он работал только с банками, у которых вообще нет информации OSGi.
Есть ли способ заставить BND игнорировать существующие заголовки OSGi в манифесте или заполнить jar-файлы, которые уже поддерживаются OSGi?