> ----- Original Message ----- > From: Raphael > To: [EMAIL PROTECTED] > Sent: Friday, August 02, 2002 11:07 AM > Subject: [java-list] Compila��o > > Galera, algu�m sabe se tem alguma ferramenta que vem com o proprio > jdk que posso utilizar para compilar uma serie de > arquivos somente se este foi modificado e n�o todos os aquivos da pasta???
Use o Jakarta Ant. N�o s� faz o que voc� deseja mas faz muito mais. O Ant n�o vem com o J2SDK mas � uma daquelas ferramentas indispens�veis para qualquer desenvolvedor Java. Se voc� baixou o J2SDK1.4, voc� deve tamb�m baixar o Ant. Para come�ar, veja o minitutorial abaixo. ---------------------------------------------- Como criar um ambiente de desenvolvimento Java usando o J2SDK e o Ant. O Ant � uma ferramenta indispens�vel para o desenvolvimento Java. Se voc� n�o usa um IDE, voc� pode us�-la para automatizar diversos processos e aumentar significativamente sua produtividade. Se voc� usa um IDE, voc� ainda pode usar o Ant para criar roteiros de montagem independentes de IDE, para que outras pessoas consigam montar e implantar sua aplica��o independente de terem ou n�o o mesmo IDE que voc�. Al�m disso, o que se pode fazer com o Ant supera e muito qualquer comando "build" de qualquer IDE existente hoje no mercado. Antes de come�ar, seu ambiente Java deve estar devidamente configurado. Voc� deve poder executar java e javac da linha de comando e a vari�vel de ambiente "JAVA_HOME" deve estar definida e apontar para o local de instala��o do seu SDK. # Instala��o do Ant: 1. Pegue o Ant 1.5 em: http://jakarta.apache.org/ant 2. Abra o ZIP em algum lugar da sua m�quina (sugest�o: c:\ ou c:\programas no Windows ou /usr/local/ no Unix) 3. Mude o nome do diret�rio criado (jakarta-ant-1.5) para simplesmente "ant" (no Linux, fa�a um link simb�lico). Isto permitir� que voc� possa baixar novas vers�es futuras e n�o precisar ficar redefinindo vari�veis de ambiente. 4. Defina uma vari�vel de ambiente do sistema "ANT_HOME" que aponte para o diret�rio (c:\ant, /usr/local/ant) 5. Acrescente ao seu PATH: $ANT_HOME/bin (Linux) ou %ANT_HOME%\bin (Windows) Agora voc� deve poder executar "ant" de qualquer lugar na sua m�quina. Deve aparecer uma mensagem de erro dizendo "build.xml does not exist!". O pr�ximo passo � criar um build.xml. # O Buildfile (build.xml), Alvos e Tarefas O build.xml (buildfile) � o roteiro que o Ant usa para realizar v�rias tarefas. � um arquivo XML que representa um "projeto". Um projeto � uma cole��o de alvos, ou targets. Voc� pode comparar um alvo a um m�todo. Se o buildfile fosse uma classe, os alvos s�o m�todos. Cada alvo consiste de uma seq��ncia de tarefas que devem ser executadas. Por exemplo, voc� pode ter um alvo para compilar, outro para criar um JAR, outro para copiar seu JAR para outro lugar, etc. Alvos devem ser pequenos e fazerem poucas coisas (de prefer�ncia devem realizar uma tarefa ou uma seq��ncia indivis�vel de tarefas). As tarefas s�o os procedimentos existentes dentro dos alvos. Elas s�o executadas em seq��ncia. Se uma delas falha, todo o processo de build falha. O Ant s� executa um alvo de cada vez, mas voc� pode definir depend�ncias e fazer com que a execu��o de um alvo cause a execu��o de v�rios outros em cascata. Voc� tamb�m pode chamar um alvo de dentro de outro. Por exemplo, suponha que voc� tenha algumas classes para compilar e depois empacotar em um JAR. Voc� pode criar dois alvos: "compilar" e "criar_jar" e dizer que "criar_jar" depende de "compilar". Quando voc� executar "ant criar_jar" o ant ir� primeiro executar as tarefas de "compilar" para depois executar "criar_jar". Mas se as classes j� estiverem compiladas? Neste caso, o ant vai verificar se a vers�o compilada � mais antiga, e compilar� apenas as classes alteradas. # Propriedades Ant permite que se defina propriedades no estilo java.util.Properties. Propriedades podem ser definidas no pr�prio buildfile, em arquivo .properties externo ou passados via linha de comando "-D". Propriedades definidas como "nome" podem ser referenciadas como "${nome}". # Exemplo de Buildfile O buildfile abaixo pode ser usado e reusado em seus projetos. Se suas fontes estiverem em um diret�rio "src", basta colocar este build.xml no diret�rio que cont�m "src". Ele criar� um diret�rio "classes" e depositar� nele as classes compiladas. (Se voc� n�o quiser usar "src" e "classes" basta mudar o nome dos diret�rios no <property>) <?xml version="1.0" encoding="iso-8859-1" ?> <project default="compile" name="Buildfile Generico"> <property name="src.dir" value="src" /> <property name="build.dir" value="classes" /> <target name="init"> <mkdir dir="${build.dir}" /> </target> <target name="compile" depends="init" description="Compila classes> <javac srcdir="${src.dir}" destdir="${build.dir}"> <classpath path="${build.dir}" /> </javac> </target> <target name="clean" description="Remove classes compiladas"> <delete dir="${build.dir}" /> </target> </project> O buildfile acima possui 3 alvos. O alvo "compile" � default. Para executar o Ant e compilar seus arquivos, mude para o diret�rio onde est� o build.xml e digite: ant Quando voc� executar "ant", o ant ir� executar o "init", onde criar� um diret�rio "classes", e depois executar� o "compile", onde compilar� as classes localizadas em "src" e as colocar� no diret�rio "classes". Ele usar� como classpath o pr�prio diret�rio "classes". Voc� pode ter outros elementos <classpath> apontando para outros diret�rios, JARs, etc. Para garantir que o ant s� compile as classes que foram alteradas desde o �ltimo build, coloque seus arquivos fonte dentro da estrutura de diret�rios compat�vel com suas declara��es "package". # Best practices O Ant estimula a organiza��o. Fica f�cil manter seu codigo-fonte separado do seu c�digo compilado. Tamb�m fica f�cil usar pacotes. Definir alvos curtos � uma boa id�ia porque eles podem ser reutilizados. Use um alvo "init" para realizar qualquer inicializa��o necess�ria e tenha sempre um alvo "clean" para remover o c�digo gerado. Para executar uma tarefa espec�fica, como o "clean", digite: ant clean Isto � o suficiente para come�ar a usar o Ant (o dif�cil agora vai ser deixar de us�-lo!) O manual que acompanha a ferramenta � muito bem escrito e cont�m exemplos de cada elemento do buildfile. Procure na documenta��o se h� um plug-in para integrar o Ant com sua ferramenta de desenvolvimento ou IDE favorito. Se houver, instale-o! ---------------------------------------- []s Helder. -- Helder da Rocha ([EMAIL PROTECTED]) Web Consultant www.argonavis.com.br S�o Paulo, Brazil +55 (11) 3044 4398 +55 (11) 9291 0567 _____________________________________________ Aumente sua produtividade e a qualidade do seu software! - Aprenda a usar Ant, JUnit, HttpUnit, XDoclet e Cactus - Informa��es: www.argonavis.com.br/cursos/java/j820/ ------------------------------ LISTA SOUJAVA ---------------------------- http://www.soujava.org.br - Sociedade de Usu�rios Java da Sucesu-SP d�vidas mais comuns: http://www.soujava.org.br/faq.htm regras da lista: http://www.soujava.org.br/regras.htm historico: http://www.mail-archive.com/java-list%40soujava.org.br para sair da lista: envie email para [EMAIL PROTECTED] -------------------------------------------------------------------------
