ANT - Renomear arquivos

2 respostas
Danilo_Marchiori

Galera,
estou definindo alguns targets para publicar minha aplicação via ANT. Só que surgiu uma necessidade que não consigo definir e buscando na internet não encontrei nada que funcione.

O seguinte código gera um war para mim numa determinada pasta, mas nesse war quero renomear o arquivo "hibernate_hom.cfg.xml" para "hibernate.cfg.xml", pois esse é o nome default para o hibernate e tenho 3 arquivos de hibernate (dev, hom e prod), 2 não devem estar no war.

<target name="TEDDIST-desenvolvimento-war" depends="dir" description="Gera o WAR da aplicação TEDDIST">
		<delete file="${basedir}\deploy\${war.TEDDIST}" />
		<war destfile="${basedir}\deploy\${war.TEDDIST}" webxml="${webxml.dir}\${webxml.TEDDIST}">
			<fileset dir="${basedir}\web">
				<include name="**/orion-web.xml" />
				<include name="**/*.jsp" />
				<include name="**/*.html" />
				<exclude name="**/*.wsdl" />
			</fileset>
			<lib dir="${basedir}/${lib.dir}" />
			<classes dir="${basedir}/bin/classes">
				<!-- Arquivos de configuracao -->
				<include name="*" />
				<exclude name="hibernate_hom.cfg.xml" />
				<exclude name="hibernate_prod.cfg.xml" />
				
			</classes>
		</war>
	</target>

Tentei as seguintes combinações:

<classes dir="${basedir}/bin/classes">
				...
				<move file="hibernate_dev.cfg.xml" todir="hibernate.cfg.xml" />
				...
<classes dir="${basedir}/bin/classes">
				...
				<move todir="hibernate.cfg.xml">
				   <fileset dir="hibernate_dev.cfg.xml"/>
				</move>
				...

Alguma idéia para isso?

Danilo

2 Respostas

fiaux

Cara, só uma sugestão, pois nunca fiz isso. Existe um copy e copyfile no ant. Já tentou?

Danilo_Marchiori

Tentei esse também e não funcionou…
O problema é que estou tentando dentro da tag “classes”, por exemplo:

...
         <classes dir="${basedir}/bin/classes">  
             <!-- Arquivos de configuracao -->  
             <include name="*" />  
             <exclude name="hibernate_hom.cfg.xml" />  
             <exclude name="hibernate_prod.cfg.xml" />  
             <copy file="hibernate_dev.cfg.xml" tofile="hibernate.cfg.xml"/>
  
         </classes>  
...

e o erro apresentado em todas as tentativas é
BUILD FAILED
The <zipfileset> type doesn’t support the nested “copy” element.

Ou seja, as tags move e copy não vão funcionar dentro de “classes”.

Alguma outra idéia? Tá valendo qualquer coisa. :smiley:

Criado 21 de maio de 2008
Ultima resposta 21 de mai. de 2008
Respostas 2
Participantes 2