2011-02-02 20 views
7

私はWebアプリケーションをビルドするためにantを使用しています。私はこれが簡単だと確信していますが、WEB-INFディレクトリに特定のフォルダを作成し、そこにファイルをコピーするようantに指示する方法を理解できません。ant warタスクを使用してWEB-INFディレクトリにファイルを含める

マイアリ戦争のタスクは次のようになります。

<target name="warItUp" depends="compile"> 
    <war destfile="MyApp.war" webxml="${home.dir}\WEB-INF\web.xml"> 

     <classes dir="${classes.dir}"/> 
     <classes file="${src.dir}/hibernate.cfg.xml"/> 
     <classes dir="${src.dir}" includes="**/*.hbm.xml"/> 

     <!-- Include the PDF files --> 
     <fileset dir="${home.dir}/PDFs"> 
      <include name="**/*.pdf"/> 
     </fileset> 

     <!-- Include the JSP files --> 
     <fileset dir="${home.dir}/JSPs"> 
      <include name="**/*.jsp"/> 
     </fileset> 

     <!-- Include the images --> 
     <fileset dir="${home.dir}/images"> 
      <include name="**/*"/> 
     </fileset>   
    </war> 

すべてのファイルセットの要素は、warファイルのルートディレクトリにPDFファイル、JSPファイルや画像ファイルが含まれる、すなわち働きます。

しかし、warファイルのWEB-INFディレクトリにサブディレクトリを作成し、ファイルをインクルードする場合は、どのように指定するのですか?例えばWARファイルにWEB-INF/TagLibraryDescriptors/MyTagLib.tldを含めるか、WARファイルにWEB-INF/JSPフォルダを作成して、すべてのJSPファイルをそこにコピーしたいとします。

ありがとうございました。

<fileset dir="${home.dir}/WEB-INF/mydirectory/*"> 
      <include name="**/*"/> 
</fileset>   
+0

を、下記の解答参照は、 。誰の時間を無駄にして申し訳ありません。 – CodeClimber

答えて

14

OPここでは、すべての回答に感謝します。私は別の解決策を見つけました - 戦争の仕事に含めることができるwebinf要素があります。

これは、WARファイル内のWEB-INFフォルダに元のJSPフォルダからファイルをコピーします。これはWEB-INF/JSPのフォルダに元のJSPフォルダからファイルをコピーします、一方、(

<webinf dir="${home.dir}/JSPs" 
includes="**/*.jsp"> 
</webinf> 

私の好みの選択):

<webinf dir="${home.dir}" 
includes="/JSPs/**/*.jsp"> 
</webinf> 

私はこの解決策に固執すると思いますが、応答に感謝します。

1

てみてください

0

あなたがmkdir方法を必要とディレクトリ構造を作成しないのはなぜ?プロジェクトにこのディレクトリを作成してから、ちょうど次のようなファイルセットに追加する

5

ネストされたwebinf要素の代わりに、あなたはまた、あなたがソースフォルダとアーカイブ内のパス接頭辞を指定できますzipfileset要素、使用することができます解決策自分自身を発見

<zipfileset dir="${home.dir}/JSPs" includes="**/*.jsp" prefix="WEB-INF/JSPs"/>