Preciso de ajuda para para congurar classpath em build.xml

9 respostas
B

Ola pessoal, bom dia!

Nunca trabalhei com ANT, e agora estou precisando automatizar a compilação da minha aplicação, só que estou tendo problemas na inclusão dos jars dependentes da aplicação, que é a pasta das minhas libs. Já tentei de vaias formas que encontrei pela web, porem como não tenho experiência com ANT, não estou conseguindo indentificar o erro.

desde já, agradeço qualquer ajuda.

Batista.

9 Respostas

G

Batista, tudo bem ?

Coloque seu arquivo build.xml aqui para que possamos analisar melhor.

B

Guilherme Mello:
Batista, tudo bem ?

Coloque seu arquivo build.xml aqui para que possamos analisar melhor.

meu build.xml ta assim:

<?xml version="1.0" encoding="UTF-8"?>
<target name="dir" depends="${webinf.lib}">
    <mkdir dir="classes" />
</target>

<target name="libs">    
    <fileset dir="${webinf.lib}" includes="**.jar" />   
</target>   

<target name="Applets" depends="dir, libs">
   <javac srcdir="${src}" destdir="${build.dir}" />
</target>

build.properties ta assim:

applet = Applets
webinf = WEB-INF
src = ${applet}/src
build.dir = web/Sistema
web.xml = ${webinf}/web.xml
webinf.lib = ${webinf}/lib

F

Exemplo:

&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
&lt;project name="JNuke" basedir="." default="deploy"&gt;
...

	&lt;path id="compile.classpath"&gt;
		&lt;pathelement location="${build.home}" /&gt;
		&lt;fileset dir="${lib.web.home}"&gt;
			&lt;include name="**/*.jar" /&gt;
		&lt;/fileset&gt;
		&lt;fileset dir="${lib.compile.home}"&gt;
			&lt;include name="**/*.jar" /&gt;
		&lt;/fileset&gt;
		
	&lt;/path&gt;
...
&lt;/project&gt;
G

Outro exemplo:

<path id="classpath"> <pathelement location="${bin.dir}" /> <fileset dir="${lib.dir}"> <include name="*.jar" /> </fileset> </path>

bind.dir -> caminho das classes compiladas
lib.dir -> caminhos dos JARs

B

Guilherme Mello:
Outro exemplo:

<path id="classpath"> <pathelement location="${bin.dir}" /> <fileset dir="${lib.dir}"> <include name="*.jar" /> </fileset> </path>

bind.dir -> caminho das classes compiladas
lib.dir -> caminhos dos JARs

desculpe a pergunta, mais como coloco esse id, que define o classpath?, ou so coloco ele dentro do meu build.xml que ele encontrará meus jar na compilacao.
desde já agradeço.

G

Basta colocar essa declaração no seu arquivo build.xml e fazer referência onde você precisar do classpath:

Por exemplo, na compilação:

<javac debug="on" srcdir="${src.dir}" destdir="${bin.dir}"> <classpath refid="classpath" /> </javac>

B
Guilherme Mello:
Basta colocar essa declaração no seu arquivo build.xml e fazer referência onde você precisar do classpath:

Por exemplo, na compilação:

<javac debug="on"
                   srcdir="${src.dir}"
                   destdir="${bin.dir}">
               <classpath refid="classpath" />
            </javac>

Nossa, ta dificil, continua não encontrando minhas lib que estao web/WEB-INF/lib, pois preciso que ele encontre a lib itext-2.0.4.jar, ele não encontra, porem ela esta lá, dever haver algum erro na configuração ainda, será se alguem poderia dar uma olhadinha novamente para ver o que esta errado.

build.properties

applet = Applets
webinf = WEB-INF
src = ${applet}/src
build.dir = ../web/Sistema
web.xml = ${webinf}/web.xml
webinf.lib= ${webinf}/lib

build.xml

<?xml version="1.0" encoding="UTF-8"?>

<project name="azeviche" basedir="." default="Applets">
    <property file="build.properties"/>  

    <target name="dir">
        <mkdir dir="classes" />
    </target>

    <path id="classpath">   
       <pathelement location="${build.dir}" />   
         <fileset dir="${webinf.lib}">   
       <include name="*.jar" />   
       </fileset>   
    </path>  
    
    <target name="libs">    
       <fileset dir="${webinf.lib}" includes="**.jar" />   
    </target>   

    <target name="Applets" depends="dir">
	    <javac debug="on" srcdir="${src}" 
		    destdir="${build.dir}" />
	    <classpath refid="classpath" />  
    </target>

</project>

desde já agradeço.

G

Certifique-se de que a propriedade ${webinf} está apontando para a pasta WEB-INF da aplicação corretamente.

  • Sempre que postar códigos, procure utilizar BBCode!
B

Guilherme Mello:
Certifique-se de que a propriedade ${webinf} está apontando para a pasta WEB-INF da aplicação corretamente.

  • Sempre que postar códigos, procure utilizar BBCode!

continuo com problemas no build.xml, quando tento compilar pela linha de comando ele me diz que tenho um erro na linha 23, que seria:

<target name="Applets" depends="dir">
	    <javac srcdir="${src}" destdir="${build.dir}" /> minha linha 23 é essa
	    <classpath refid="classpath" />  
    </target>

so que ja verifiquei e nao encontrei nada de errado, o que poderia fazer agora?

Criado 18 de fevereiro de 2008
Ultima resposta 18 de fev. de 2008
Respostas 9
Participantes 3