0

jTDS の最新バージョン用の OSGi ラッパーを作成しようとしています。既存の jTDS ビルド プロセス (Ant ベース) にラッピング プロセスを追加しようとしています。最新の bnd.jar をダウンロードし、jTDS build.xml に以下を追加しました。

<taskdef resource="aQute/bnd/ant/taskdef.properties" classpath="bnd.jar"/>
<bndwrap trace="true" definitions="${basedir}/bnd" output="${build}/${ant.project.name}-${version}.osgi.jar">
    <fileset dir="${build}" includes="*.jar"/>
</bndwrap>

また、非常に単純な bnd 定義も定義しました。

version=1.2.6
Export-Package: net.sourceforge.jtds*;version=${version}
Bundle-Version: ${version}
Bundle-Name: net.sourceforge.jtds

Ant でタスクを実行するdistと、適切な OSGi マニフェストで JAR が作成されます。別の JAR を作成していますが、マニフェストは元のものと同じです。

bnd JAR に対して直接同じラップを実行すると、次のようになります。

java -jar bnd.jar wrap -p bnd\jtds-1.2.6.bnd -o build\jtds-1.2.6.osgi.jar build\jtds-1.2.6.jar

正しい OSGi マニフェストを取得します。

Ant ビルド中に何がうまくいかないのですか?

4

1 に答える 1

0

ここにあるbndの最新バージョンに問題があるようです。Ant WrapTaskはいくつか再構築され、機能していないようです(おそらく、構成が間違っているだけです。ドキュメントがコードに追いついていない可能性があります)。

代わりにバージョン1.50.0をドロップしましたが、bnd.jarとAntの両方ですべてが期待どおりに機能しました。

于 2012-10-23T14:14:40.413 に答える