2017-01-11 21 views
0

私は、使用しているjarファイルの依存するjarファイルを含むプロジェクトのlibディレクトリの下に多数のサブフォルダがある非常に特殊なシナリオを持っています。例えば。libのサブディレクトリからjarを組み込むためのAntビルド

ここで、私はant buildを行っているので、ディレクトリ構造なしですべてのjarを戦争に含めるだけです。しかし、以下のスニペットにはディレクトリ構造も含まれています。

<lib dir="${lib.dir}"> 
       <include name="dp-common-${project.major.verson}.${project.minor.version}.jar" /> 
       <include name="**/*.jar" /> 
      </lib> 

最終的に私の戦争のlibディレクトリにすべての瓶があることを期待しています。 like

lib/abc.jar 
lib/abc1.jar 
lib/abc2.jar 
lib/abc3.jar 

ありがとうございます。

答えて

0

私がそれをしなければならない場合、私は以下のアプローチを好むでしょう。

  • 同じ目的のディレクトリ構造を持つ一時ディレクトリを作成してwarファイルを作成します。
  • jarファイルをコピー先のディレクトリ、たとえばlibにコピーします。
  • 、最終的には上記

この方法で行われたら、あなたは中間体を使用して、最終的なパッケージの同じまたは異なるディレクトリ構造のいずれかを作成することができるはず作成した一時ディレクトリを削除し、アーカイブ

  • を作成ディレクトリ。

    作成した.warファイルにWEB-INF/libの下のファイルセットを配置するための簡単な表現である
  • 1

    代わりの> libに<、mappedresources子要素を使用します。

    <zipfileset prefix="WEB-INF/lib"> 
        <mappedresources> 
         <fileset dir="${lib.dir}"> 
          <include name="dp-common-${project.major.verson}.${project.minor.version}.jar" /> 
          <include name="**/*.jar" /> 
         </fileset> 
         <flattenmapper/> 
        </mappedresources> 
    </zipfileset> 
    
    関連する問題