Ant e classpath

Olá:

Criei um build.xml para meu projeto. Dentro da tarefa de compilação, está escrito o seguinte:

	<javac destdir="${build.dir}" srcdir="${src.dir}" compiler="jikes">
		<classpath>
			<pathelement path="${lib.dir}/"/>
		</classpath>
	</javac>

Entretanto, quando compilo, o ant não acha os arquivos *.jar que estão no diretório indicado. Assim, ele não acha a referencia às classes que estão nos *.jar e aparece o seguinte aviso, por exemplo:

Uma outra tentativa foi:

	<javac destdir="${build.dir}" srcdir="${src.dir}" classpath="${lib.dir}/*.jar" compiler="jikes">
	</javac>

Entretanto obtive o mesmo erro.
Alguém pode me indicar qual a sintaxe correta?

Grato,

Rafael, vc tem de colocar um por um todos os JARs que voce quer adicionados ao CLASSPATH do compilador. Tente fazer isso:

 <javac destdir="${build.dir}" srcdir="${src.dir}" compiler="jikes">
      <classpath>
         <pathelement path="${lib.dir}/lib1.jar"/>
         <pathelement path="${lib.dir}/lib2.jar"/>
         <pathelement path="${lib.dir}/lib3.jar"/>
         <pathelement path="${lib.dir}/lib4.jar"/>
      </classpath>
   </javac>

Ou então jogue a nhaca do Ant fora e instale o Maven maven.apache.org :wink:

[]'s
-cv

Villela:

Deu certo, obrigado :smiley: . Pensei que poderi a se utilizar caracteres coringa na hora de indica o classpath. Algo como “${lib.dir}/*.jar” ou “${lib.dir}/**.jar”. Na verdade ainda tenho que entender melhor como estes caracteres funcionam. Quanto ao Maven, isto é novidade para mim. De qualquer forma ainda está em beta. Melhor esperar lancar a versão 1.0.
Outra coisa, me perdoem por colocar o mesmo tópico duas vezes no fórum :oops: . Foi distração minha. Seria interessante se eu pudesse deletar o tópicos que eu criei.

Grato,

O Maven só está em beta pq se eles lançam o 1.0, ninguém contribui mais código (palavras do Jason Van Zyl, um dos desenvolvedores :)). Então nao ligue para o “beta” no número da versão, e sim para o que o Maven faz - e, devo dizer, faz muita coisa :slight_smile:

Ah, e ele é compatível com o Ant também, então se vc tem algum taskdef, não é necessário refazer nada.

[]'s
-cv

[quote=cv]Rafael, vc tem de colocar um por um todos os JARs que voce quer adicionados ao CLASSPATH do compilador. Tente fazer isso:

 <javac destdir="${build.dir}" srcdir="${src.dir}" compiler="jikes">
      <classpath>
         <pathelement path="${lib.dir}/lib1.jar"/>
         <pathelement path="${lib.dir}/lib2.jar"/>
         <pathelement path="${lib.dir}/lib3.jar"/>
         <pathelement path="${lib.dir}/lib4.jar"/>
      </classpath>
   </javac>

Ou então jogue a nhaca do Ant fora e instale o Maven maven.apache.org :wink:

[]'s
-cv[/quote]

Você pode adicionar todas…

	     <javac srcdir="${src}" destdir="\${build}">
	     	<classpath>
	     		<fileset dir="${lib}" >
					<include name="*.jar"/>
				</fileset>
	     	</classpath>
	     </javac>