RESOLVIDO! Gerar Ant entre dois Projetos

4 respostas
diogoprosoft

Galera tenho dois projetos no eclipse um deles é para Web e o outro é JavaProject, bom até ai tudo bem…

Agora preciso gerar um .jar do projeto JavaProject para dentro da pasta WEB-INF/lib do projeto web, então para resolver esse detelhe criei um Ant, ele está fazendo tudo direitinho porém quando ele gera o .jar esta vazio não esta levando os pacotes e os .class, o que devo fazer para resolver isso?

Meu Ant.xml

<project name="PILOTOBusiness" basedir="." default="empacotar">

    <property name="classes" location="../../PILOTOBusiness/bin/"/>
	<property name="jar" location="WEB-INF/lib/PILOTOBusiness.jar"/>

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

    <target name="limpar">
        <delete dir="classes"/>
    </target>

    <target name="compilar" depends="dir"> 
        <javac srcdir="${basedir}"
        classpath="${classes}"
        destdir="${classes}" />
    </target>

	<target name="limparjar">
        <delete dir="jar"/>
    </target>

    <target name="empacotar" depends="compilar">
        <mkdir dir="WEB-INF/lib"/>
        <jar destfile="WEB-INF/lib/PILOTOBusiness.jar" 
            basedir="${basedir}/classes">
        </jar>
    </target>

</project>

4 Respostas

W

Alguma coisa errada aqui:

basedir="${basedir}/classes">

Voce tem alguma coisa nesse dir ??

//Daniel

diogoprosoft

estava olhando aqui, ele está gerando uma pasta vazia “classes”, mais eu não quero que ele me gere esta pasta, entende.

O Ant está no projeto web, quero que ele vá lá no outro projeto compile as classes gere o .jar na pasta WEB-INF/lib, o que devo fazer?

W

Acho que vc teria que fazer assim:

  • criar outro target pra compilar mas apontando pro diretorio do outro projeto
  • criar um target pra criar o jar deste outro projeto

Mais ou menos igual o que vc ja tem, mas o basedir tem que ser diferente porque o que vc tem ${basedir} eh o “.” do seu projeto web.
Define uma outra variavel tipo $projeto2 e faz alguam do tipo.

na verdade isso aqui:

<jar destfile=“WEB-INF/lib/PILOTOBusiness.jar”

basedir="${basedir}/classes">

Nao depende de compilar, vc tem que criar um outro target pra compilar o projeto 2, tipo:

<javac srcdir="${projeto2}"

destdir="${projeto2}/build" />

<jar destfile=“WEB-INF/lib/PILOTOBusiness.jar”

basedir="${projeto2}/build">

diogoprosoft

Resolvido

Ficou assim:

<project name="PILOTOBusiness" basedir="." default="empacotar">

    <property name="classes" location="../../PILOTOBusiness/bin/"/>	

    <target name="dir">
        <mkdir dir="WEB-INF/lib" />
    </target>

    <target name="limpar">
        <delete dir="classes"/>
    </target>

    <target name="compilar" depends="dir"> 
        <javac srcdir="${classes}"
        classpath="${classes}"
        destdir="${classes}" />
    </target>

	<target name="empacotar" depends="compilar">
        <mkdir dir="WEB-INF/lib"/>
        <jar destfile="WEB-INF/lib/PILOTOBusiness.jar" 
            basedir="${classes}">
        </jar>
    </target>

</project>

Obrigado pela Ajuda :smiley:

Criado 22 de abril de 2009
Ultima resposta 22 de abr. de 2009
Respostas 4
Participantes 2