2011-04-05 46 views
1

對此很新,很耐心。我已經得到了我的Ant build.xml來運行並填充我想要的所有內容,但是我的內容(js,css,jsp等)只是插入最頂層目錄中的WAR中。我期待將這些內容放入我需要在戰爭中製作的WEB-INF文件夾中。這是我迄今爲止的參考資料。如果我能看到一個如何做到這一點的例子,我想我會很好。試圖按照這thread,這是遠程設置我失蹤?如何在Ant腳本中設置具有不同目錄的戰爭文件

<war warfile="${build}/${project.name}.war" webxml="${appconf}/web.xml"> 
     <classes dir="${appconf}/classes" /> 
     <fileset dir="${appcontent}" includes="jsp/**,js/**,images/**,css/**,tg/**" excludes="**/*.~js,**/*.~jav,**/*.java,cvs,annotation"> 
      <patternset id="jsp_images_package"> 
       <include name="**/*.jsp,**/*.js,**/*.gif,**/*.html,**/*.css"/> 
       <exclude name="**/*.~js,**/*.~jav"/> 
      </patternset> 
     </fileset> 
     <fileset dir="${appcontent}" includes="WEB-INF/lib/*.jar,WEB-INF/*.jar"/> 
     <fileset dir="${appcontent}" includes="WEB-INF/lib/*.css"/> 
     <fileset dir="${appcontent}" includes="docs/*.doc"/> 
    </war> 

回答

0

你想在這種情況下使用的是<zipfileset>。它應該看起來像這樣(你的結構很奇怪,所以我不能確切地說出你想要的文件的位置)。

<war warfile="${build}/${project.name}.war" webxml="${appconf}/web.xml"> 
    <classes dir="${appconf}/classes" /> 
    <zipfileset dir="${appcontent}/jsp" includes="**/*.jsp" prefix="WEB-INF"/> 
    <zipfileset dir="${appcontent}/js" includes="**/*.js" prefix="WEB-INF"/> 
    <zipfileset dir="${appcontent}/css" includes="**/*.css" prefix="WEB-INF"/> 
    <fileset dir="${appcontent}"> 
     <include name="docs/*.doc"/> 
     <include name="images/**"/> 
     <include name="WEB-INF/*.jar"/> 
     <include name="WEB-INF/lib/*.jar"/> 
     <include name="WEB-INF/lib/*.css"/> 
    </fileset> 
</war> 
+0

呃不要擔心結構,這是偉大的。所以從它的外觀我缺少的是前綴命令。所以這會把它放在正確的文件夾中。 – 2011-04-05 20:55:15

+0

有任何解釋如何正確執行此操作的良好鏈接?我無法在我的生活中找到一個很好的API /解釋。 – 2011-04-05 20:57:02

+0

別擔心,我很難找出Ant可以做的事情。因此前綴會將該文件夾路徑添加到「includes」中指定的文件的相對路徑。 – JasonMArcher 2011-04-05 23:16:54

相關問題