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.
Batista, tudo bem ?
Coloque seu arquivo build.xml aqui para que possamos analisar melhor.
[quote=Guilherme Mello]Batista, tudo bem ?
Coloque seu arquivo build.xml aqui para que possamos analisar melhor.[/quote]
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
Exemplo:
<?xml version="1.0" encoding="ISO-8859-1"?>
<project name="JNuke" basedir="." default="deploy">
...
<path id="compile.classpath">
<pathelement location="${build.home}" />
<fileset dir="${lib.web.home}">
<include name="**/*.jar" />
</fileset>
<fileset dir="${lib.compile.home}">
<include name="**/*.jar" />
</fileset>
</path>
...
</project>
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
[quote=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[/quote]
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.
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>
[quote=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>
[/quote]
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
[code]<?xml version="1.0" encoding="UTF-8"?>
<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>
[/code]
desde já agradeço.
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!
[quote=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![/quote]
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?