Como incluir arquivo no frasco através de Ant em local específico
Pergunta
Eu tenho uma tarefa jar formiga:
<target name="jar">
<jar destfile="${generated.jars.dir}/hello-${environment}.jar">
<fileset dir="${generated.classes.dir}"/>
<fileset dir="${environment.dir}/${environment}" includes="config.xml"/>
</jar>
</target>
Como posso forçar o arquivo config.xml para ser empurrado para um diretório específico no frasco, em vez de no nível de raiz, digamos, em /database/config.xml ou algo parecido ...
PS:. A razão para isso é que eu posso ter um Olá-local.jar, Olá-dev.jar, Olá-qa.jar, etc
Solução
Use a zipfileset
assim:
<jar destfile="${generated.jars.dir}/hello-${environment}.jar">
<fileset dir="${generated.classes.dir}"/>
<zipfileset dir="${environment.dir}/${environment}"
includes="config.xml"
fullpath="database/config.xml"/>
</jar>
Outras dicas
Você quer zipfileset:
<zipfileset dir="${environment.dir}/${environment}" includes="config.xml" prefix="database"/>
ou
<zipfileset dir="${environment.dir}/${environment}" includes="config.xml" fullpath="database/config.xml"/>
<!-- Generate EJBs -->
<javadoc destdir="${ejb.build.dir}/src" classpathref="ejb.class.path" docletpath="${wl.home}/lib/ejbgen.jar" doclet="weblogic.tools.ejbgen.EJBGen" maxmemory="512m" docletpathref="class.path" failonerror="true" additionalparam="-descriptorDir ${ejb.build.dir}/src/META-INF -wls81 -forceGeneration">
<fileset dir="${ejb.build.dir}/src" includes="**/ejb/*Bean.java,**/ejb/**/*Bean.java, **/ejb/enterprisemanagement/*EJB.java, **/ejb/sitemanagement/*EJB.java, kaas/gateways/rdm/**" excludes="**/agwmgmt/*.java,**/dstprofilemgmt/*.java, **/KaASBaseSessionBean.java,**/com/hns/iag/kaas/rdm/**">
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow