0

現在、を使用して oracle adf プロジェクトをデプロイしていojdeployます。残念ながら、瓶のパッケージは本来あるべきものではありません。

だから私はパスに画像を持っています

lookAndFeel.jar/skins/lightsOff/images
lookAndFeel.jar/skins/lightsOn/images

マージする必要があるもの

lookAndFeel.jar/META-INF/adf/skins/lightsOff/images
lookAndFeel.jar/META-INF/adf/skins/lightsOn/images

アリでこれを行う方法はありますか?

編集

Ant のベスト プラクティスのトップ13 のポイント 13を読みzipfilesetました。しかし、必要なファイルが既に jar にあるため、そのようにすることはできませんでした。最初の jar の作成はそれを介して行われるojdeployため、jar の初期構造には影響しません。

4

1 に答える 1

0

私は問題が何であるかを理解しようとしています:

  • この瓶を作ったのはあなたですか?
  • 新しいデータをマージしていますか、それとも移動していますか?

他の人が述べているように、解凍し、結果をマンジしてから、それをバックアップする必要があります。大したことはありません:

<property name="target.dir"   value="${basedir}/target"/>
<property name="work.dir"     value="${target.dir}/work"/>
<property name="munge.dir"    value="${work.dir}/munge"/>

<target name="munge.jar">
    <unjar src="${jar.file}"
        dest="${munge.dir}"/>

    <here be dragons.../>

    <delete file="${jar.file}"/>

    <jar destfile="${jar.file}
       basedir="${munge.dir}"/>
</target>

<here be dragons.../>何が欲しいか 100% 確信が持てない場合は、その部分に記入する必要があります。移動、名前の変更、シャッフル、削除、およびコンテンツへの追加を行うことができます。

もう 1 つの可能性は、<mapper/>サブエンティティを使用して、jar を解凍するときに jar を再フォーマットすることです。

<target name="munge.jar">
    <unjar src="${jar.file}"
        dest="${munge.dir}">
        <mapper type="glob"
            from="skins/**/*"
            to="META-INF/adf/skins/**/*"/>
    </unjar>

    <delete file="${jar.file}"/>

    <jar destfile="${jar.file}
       basedir="${munge.dir}"/>
</target>

上記をテストしていませんが、アイデアが得られます。

于 2013-04-10T14:41:09.457 に答える