Dependências com o ANT

1 resposta
mutano

Estou tentando utilizar algum mecanismo de gerenciamento de dependencias no ANT, mas estou com problemas no classpathref do taskdef.

Já tentei utilizar o Maven Tasks for ANT 2.0.7 (http://maven.apache.org/ant-tasks.html) e o Ivy 1.4.1 (http://incubator.apache.org/ivy/). Ambos não encontram o classpath.

Para o Maven Tasks for ANT utilizei o seguinte trecho para definir o path no build (depois de ter configurado o pom.xml com as dependencias corretas):
<artifact:pom id="pom" file="pom.xml" />
<artifact:dependencies pathId="compile.classpath" filesetId="compile.fileset" useScope="compile">
   <pom refid="pom"/>
</artifact:dependencies>

<taskdef name="ejbdoclet" classname="xdoclet.modules.ejb.EjbDocletTask" classpathref="compile.classpath"/>
Já para o Ivy utilizei o seguinte:
<ivy:configure file="D:/Desenv/ivyconf.xml"/>
<ivy:resolve/>
<ivy:cachepath pathid="compile.classpath" conf="compile" />

<taskdef name="ejbdoclet" classname="xdoclet.modules.ejb.EjbDocletTask" classpathref="compile.classpath"/>

Em ambos os casos aparece um warning no Eclipse "Reference compile.classpath no found" no taskdef e a task ejbdoclet não funciona. As dependencias e a configuração aparentemente estão corretos pois ele faz o download das dependencias para o repositório/cache local.

O estranho é que a cópia das dependencias funciona nos dois casos, mas não quero duplicar os jars na máquina cliente e muito menos por projeto, para utilizar diretamente o repositório/cache local. Abaixo o código de cópia que funciona:

Maven Tasks for ANT:
<copy todir="lib">
  <fileset refid="compile.fileset" />
  <mapper type="flatten" />
</copy>
Ivy:
<ivy:retrieve/>

Alguém passou por situação semelhante ou tem alguma sugestão de gerência de dependências com o ANT? Ainda não posso migrar para o Maven...

1 Resposta

F

Boa tarde , Você conseguiu resolver este problema?

Estou tentando o mesmo problema…

Obrigado…

Criado 27 de setembro de 2007
Ultima resposta 20 de mar. de 2009
Respostas 1
Participantes 2