2015-05-19 2 views
0

Я работаю над одним скриптом муравья, и моя цель муравьев распаковывает файл войны, а затем переименовывает/заменяет файл и снова застегивает военный файл. Таким образом, в структуре моего военного файла есть папка WEB-INF, в которой есть файл web-muqmreports.xml и web.xml.ANT target не перезаписывает существующий xml-файл

Моя цель распаковывает файл войны, а затем копирует файл web-muqmreports.xml с именем web.xml и помещает его обратно в файл войны, а затем застегивает его молнией, но проблема в том, что у меня уже есть один web.xml в папке WEB-INF, поэтому, когда цель помещает переименованный файл web.xml в папку WEB-INF, она не перезаписывает существующий файл web.xml.

Моя цель работает нормально. Я проверил его, не переименовав имя файла в web.xml. Я переименовал его в web_tt.xml, и после этого я могу увидеть файл во время войны.

Может кто-нибудь сказать мне, почему он не переписывает существующий файл web.xml?

Есть ли способ удалить существующий файл web.xml перед zip в нижней части?

<target name="env.replace.webxml"> 
     <echo message="Replacing app web.xml"/> 
     <move todir="${deploy.war.dir}"> 
      <fileset dir="${deploy.war.dir}" includes="*.war" /> 
      <regexpmapper from=".*\.war" to="${deploy.appname}.war" /> 
     </move> 
     <delete dir="WEB-INF"/> 
     <unzip src="${deploy.war.dir}/${deploy.appname}.war" dest="."> 
      <patternset> 
       <include name="WEB-INF/${deploy.use.web.xml}"/> 
      </patternset> 
      <globmapper from="WEB-INF/${deploy.use.web.xml}" to="WEB-INF/web.xml"/> 
     </unzip> 
     <zip destfile="${deploy.war.dir}/${deploy.appname}.war" basedir="." includes="WEB-INF/web.xml" update="true"/> 
</target> 
+0

Run Ant с опцией подробного режима (муравей -v * целевой *), и включить вывод в вашем вопросе. Этот вывод должен объяснить, почему Ant не заменяет ваш файл. – VGR

+0

Могу ли я добавить этот шаг, чтобы удалить файл web.xml, который уже находится в файле войны, перед тем, как сделать zip в файле ant target.if. Да, пожалуйста, дайте мне знать, как я могу это сделать – Sushant

ответ

0

Я установил вопрос я добавил еще один шаг в моей муравей цели

<target name="env.replace.webxml"> 
     <echo message="Replacing app web.xml"/> 
     <move todir="${deploy.war.dir}"> 
      <fileset dir="${deploy.war.dir}" includes="*.war" /> 
      <regexpmapper from=".*\.war" to="${deploy.appname}.war" /> 
     </move> 
     <delete dir="WEB-INF"/> 
     <unzip src="${deploy.war.dir}/${deploy.appname}.war" dest="."> 
      <patternset> 
       <include name="WEB-INF/${deploy.use.web.xml}"/> 
      </patternset> 
      <globmapper from="WEB-INF/${deploy.use.web.xml}" to="WEB-INF/web.xml"/> 
     </unzip> 
     **<tstamp> <format property="touch.time" pattern="MM/dd/yyyy hh:mm aa"/> </tstamp> 
     <touch datetime="${touch.time}"> 
     <fileset dir="." /> 
     </touch>** 
     <zip destfile="${deploy.war.dir}/${deploy.appname}.war" basedir="." includes="WEB-INF/web.xml" update="true"/> 
    </target> 
Смежные вопросы