Come per automatizzare il processo di compilazione usando Java e Ant?

Automate build with Ant

Automatizzare costruire con Ant

Panoramica:

In questo documento si discuterà circa la formica tool di creazione e l'utilizzo di questo come possiamo automatizzare il meccanismo di generazione per le applicazioni Java basate. In formica epoca di oggi è diventata una parte integrante dello sviluppo Java. La maggior parte dei clienti piace avere uno script di generazione automatica come una parte del codice sorgente erogata. La ragione di questo è la semplicità fornito dal ant modo che chiunque con poca conoscenza scripting può generare un binario dispiegabile senza conoscere l'applicazione in dettaglio.

Introduzione:
Apache Ant è un tool di creazione generica. Gli stand nome ANT abbreviati per 'Un altro strumento di Neat'. Questo strumento è simile al programma di utilità 'make' in UNIX, ma è implementato utilizzando Java. E 'utilizzato principalmente per costruire i binari di un codice sorgente Java based e la distribuzione del binario generato da un server di applicazioni, che è predefinito. Può anche essere usato per generare javadoc per una base di codice e per eseguire il test suite unità per l'intero codebase. Formica in collaborazione con JUnit aiuta gli sviluppatori a seguire l'approccio di sviluppo test driven.

Ant requires Java compiler to be installed having the environment variable JAVA_HOME set with its adequate value. Ant uses an XML file to define the build procedure. Il nome predefinito di questo file è build.xml. Alcuni sviluppatori anche utilizzare un file delle proprietà e cioè build.properties per definire alcune proprietà ad es. il numero di versione di build e altri parametri ambientali, che sono necessari per cambiare di volta in volta in base alla necessità.

Installation:
FEDORA: su RHEL, ANT può essere installato utilizzando il comando - yum install formica o può essere installato utilizzando il numero di giri - io comando. In questo caso è necessario scaricare il pacchetto formica prima.

DEBIAN: su Ubuntu, ANT può essere installato utilizzando il comando - apt-get install formica.

finestre: Su ambiente Windows è necessario scaricare il ant_<VERSION_NO>.file zip. Questo pacchetto zip deve essere estratto in una cartella. Questa cartella deve essere definita come una variabile d'ambiente ANT_HOME.

Un esempio di file build.xml è mostrato come sotto:

QUOTAZIONE 1: file build.xml di esempio

[Code]

<?xml version =”1.0″?>

<nome del progetto =”Ant-Test” default =”principale” basedir =”.”>

<!– Imposta le variabili che possono poi essere utilizzati. –>

<!– Il valore di una proprietà si accede tramite ${} –>

<property name =”src.dir” location =”src” />

<property name =”build.dir” location =”bin” />

<property name =”dist.dir” location =”dist” />

<property name =”docs.dir” location =”Documenti” />

<!– Elimina la costruzione esistente, docs e directory dist–>

<Nome target =”pulito”>

<eliminare dir =”${build.dir}” />

<eliminare dir =”${docs.dir}” />

<eliminare dir =”${dist.dir}” />

</bersaglio>

<!– Crea la build, docs e directory dist–>

<Nome target =”MakeDir”>

<mkdir dir =”${build.dir}” />

<mkdir dir =”${docs.dir}” />

<mkdir dir =”${dist.dir}” />

</bersaglio>

<!– Compila il codice java (tra cui l'utilizzo di libreria per JUnit –>

<Nome target =”compile” dipende =”pulito, MakeDir”>

<javac srcdir =”${src.dir}” confisca =”${build.dir}”>

</javac>

</bersaglio>

<!– crea Javadoc –>

<Nome target =”Documenti” dipende =”compile”>

<javadoc packagenames =”src” SourcePath =”${src.dir}” confisca =”${docs.dir}”>

<!– Definire i file / directory dovrebbe essere inclusi, includiamo tutti –>

<set di file dir =”${src.dir}”>

<includere il nome =”**” />

</set di file>

</javadoc>

</bersaglio>

<!–Crea il file jar schierabile –>

<Nome target =”jar” dipende =”compile”>

<vaso destfile =”${dist.dir}\in.kolkalta.build.test.ant.jar” basedir =”${build.dir}”>

<manifesto>

<attributo name =”Main-Class” value =”test.Main” />

</manifesto>

</jar>

</bersaglio>

<Nome target =”principale” dipende =”compile, jar, Documenti”>

<descrizione>L'obiettivo principale</descrizione>

</bersaglio>

</progetto>

[/Code]

Automazione con ANT:
Ant fornisce un grande aiuto per gli sviluppatori Java. Quasi ogni sviluppatore Java sarà come avere uno script che può prendersi cura di eseguire il test di unità e la creazione del file distribuzione binaria che può essere implementato su un server di applicazioni. Ant fornisce anche modi per eseguire script automatizzati che vengono utilizzati per eseguire unit test su una base di codice. Thus, fornisce assistenza agli sviluppatori che utilizzano l'approccio di sviluppo test driven. Come sappiamo in test driven metodologia di sviluppo JUnit è una costrizione, è sempre un vantaggio, se abbiamo uno script automatico che esegue tutti i casi di test JUnit in un colpo solo. Non solo questo script può essere utilizzato anche se abbiamo ha una continua integrazione lavorato ad es. Hudson. Il nostro codice di esempio seguente illustra come utilizzare ANT con JUnit.

QUOTAZIONE 2: Un file di esempio Java

[Code]

package com.home.junit;

pubblico classe SampleAdd {

pubblico int aggiungi(int X, int e) {

ritorno X + e;

}

}

[/Code]

QUOTAZIONE 3: Il file corrispondente JUnit

[Code]

pacchetto com.home.junit;

importazione org.junit.After;

importazione org.junit.Assert;

importazione org.junit.Before;

importazione org.junit.Test;

public class SampleAddTest {

privato SampleAdd sampleClass;

@Prima

setUp public void() {

sampleClass = new SampleAdd();

}

@Test

public void testAdd() {

Assert.assertEquals(5, sampleClass.add(3, 2));

}

@Dopo

settleDown public void() {

sampleClass = null;

}

}

[/Code]

QUOTAZIONE 4: Lo script ANT per compilare ed eseguire il test JUnit

[Code]

<?xml version =”1.0″?>

<nome del progetto =”JUNIT” default =”principale” basedir =”..”>

<!– Imposta le variabili che possono poi essere utilizzati. –>

<!– Il valore di una proprietà si accede tramite ${} –>

<property name =”src.dir” location =”src” />

<property name =”test.dir” location =”test” />

<property name =”build.dir” location =”bin” />

<property name =”build.test.dir” location =”bin / test” />

<!– Variabili utilizzate per JUnit testin –>

<property name =”test.report.dir” location =”rapporto di prova” />

<!– Definire il percorso di classe che comprende la junit.jar e le classi dopo la compilazione–>

<percorso id =”junit.class.path”>

<posizione pathelement =”lib / JUnit-4.11.jar” />

<posizione pathelement =”lib / hamcrest-core-1.3.jar” />

<posizione pathelement =”${build.dir}” />

</il percorso>

<!– Elimina la costruzione esistente, docs e directory dist–>

<Nome target =”pulito”>

<eliminare dir =”${build.dir}” />

<eliminare dir =”${test.report.dir}” />

</bersaglio>

<!– Crea la build, docs e directory dist–>

<Nome target =”MakeDir”>

<mkdir dir =”${build.dir}” />

<mkdir dir =”${build.test.dir}” />

<mkdir dir =”${test.report.dir}” />

</bersaglio>

<!– Compila il codice java (tra cui l'utilizzo di libreria per JUnit –>

<Nome target =”compile” dipende =”pulito, MakeDir”>

<javac srcdir =”${src.dir}” confisca =”${build.dir}”>

<classpath refid =”junit.class.path” />

</javac>

<javac srcdir =”${test.dir}” confisca =”${build.test.dir}”>

<classpath refid =”junit.class.path” />

</javac>

</bersaglio>

<!– Eseguire i test JUnit –>

<!– L'uscita è XML, potrebbe anche essere normale–>

<Nome target =”JUnit” dipende =”compile”>

<JUnit printsummary =”su” forchetta =”vero” haltonfailure =”sì”>

<classpath refid =”junit.class.path” />

<classpath>

<posizione pathelement =”${build.test.dir}”/>

</classpath>

<tipo di formattazione =”xml” />

<batchtest adir =”${test.report.dir}”>

<set di file dir =”${test.dir}”>

<includere il nome =”**/*Prova * .java” />

</set di file>

</batchtest>

</JUnit>

</bersaglio>

<Nome target =”principale” dipende =”compile, JUnit”>

<descrizione>L'obiettivo principale</descrizione>

</bersaglio>

</progetto>

[/Code]

Quando si esegue questo script, in primo luogo compilare il codice di base e quindi esegue i test JUnit sul codice compilato e, infine, genera un rapporto di prova. Il rapporto di prova può essere generato in qualsiasi formato. Per comodità abbiamo generato questo in formato XML.

QUOTAZIONE 5: Il rapporto di prova generato in formato XML

[Code]

<?xml version =”1.0″ encoding =”UTF-8″?>

-<testsuite timestamp =”2013-10-26T18:52:45″ tempo =”0.077″ test =”1″ name =”com.home.junit.SampleAddTest” hostname =”INDTAPPL132-001″ fallimenti =”0″ errori =”0″>-<properties><property name =”java.vendor” value =”Oracle Corporation”/><property name =”sun.java.launcher” value =”SUN_STANDARD”/><property name =”eclipse.pdebuild.templates” value =”/F:/Utpal/Softs/Softs/eclipse-java-indigo-win32/eclipse/plugins/org.eclipse.pde.build_3.7.0.v20110512-1320/templates/”/><property name =”sun.management.compiler” value =”HotSpot client Compiler”/><property name =”os.name” value =”Windows 7″/><property name =”sun.boot.class.path” value =”C:\Programmi Java jre7 lib resources.jar;C:\Programmi Java jre7 lib rt.jar;C:\Programmi Java jre7 lib sunrsasign.jar;C:\Programmi Java jre7 lib jsse.jar;C:\Programmi Java jre7 diventare jce.jar;C:\Programmi Java jre7 lib charsets.jar;C:\Programmi Java jre7 lib jfr.jar;C:\Programmi Java jre7 classes”/><property name =”sun.desktop” value =”finestre”/><property name =”java.vm.specification.vendor” value =”Oracle Corporation”/><property name =”ant.home” value =”F:\Utpal Softs Softs eclipse-java-indaco-win32 eclipse plugins org.apache.ant_1.8.2.v20110505-1300″/><property name =”java.runtime.version” value =”1.7.0_45-B18″/><property name =”Nome utente” value =”utpalb”/><property name =”build.dir” value =”F:\Work RnDSpace Junit bin”/><property name =”user.language” value =”in”/><property name =”test.report.dir” value =”F:\Work RnDSpace Junit resoconto del test”/><property name =”sun.boot.library.path” value =”C:\Programmi Java jre7 bin”/><property name =”ant.project.default-bersaglio” value =”principale”/><property name =”ant.project.name” value =”JUNIT”/><property name =”java.version” value =”1.7.0_45″/><property name =”user.timezone” value =””/><property name =”sun.arch.data.model” value =”32″/><property name =”java.endorsed.dirs” value =”C:\Programmi Java jre7 lib approvato”/><property name =”sun.cpu.isalist” value =”pentium_pro MMX pentium_pro Pentium Pentium MMX i486 i386 I86″/><property name =”Sunkjnukencoding” value =”CP1252″/><property name =”file.encoding.pkg” value =”sun.io”/><property name =”File.separator” value =”\”/><property name =”java.specification.name” value =”Java Platform API Specification”/><property name =”java.class.version” value =”51.0″/><property name =”user.country” value =”NOI”/><property name =”java.home” value =”C:\Programmi Java jre7″/><property name =”java.vm.info” value =”modalita `mista, compartecipazione”/><property name =”ant.file” value =”F:\Work RnDSpace Junit costruire build.xml”/><property name =”os.version” value =”6.1″/><property name =”path.separator” value =”;”/><property name =”java.vm.version” value =”24.45-B08″/><property name =”user.variant” value =””/><property name =”ant.library.dir” value =”F:\Utpal Softs Softs eclipse-java-indaco-win32 eclipse plugins org.apache.ant_1.8.2.v20110505-1300 lib”/><property name =”java.awt.printerjob” value =”sun.awt.windows.WPrinterJob”/><property name =”sun.io.unicode.encoding” value =”UnicodeLittle”/><property name =”ant.file.type.JUNIT” value =”file”/><property name =”awt.toolkit” value =”sun.awt.windows.WToolkit”/><property name =”user.script” value =””/><property name =”ant.file.JUNIT” value =”F:\Work RnDSpace Junit costruire build.xml”/><property name =”eclipse.pdebuild.scripts” value =”/F:/Utpal/Softs/Softs/eclipse-java-indigo-win32/eclipse/plugins/org.eclipse.pde.build_3.7.0.v20110512-1320/scripts/”/><property name =”user.home” value =”C:\Users utpalb”/><property name =”java.specification.vendor” value =”Oracle Corporation”/><property name =”test.dir” value =”F:\Lavorare RnDSpace JUnit test”/><property name =”java.library.path” value =”C:\Programmi Java jre7 bin;C:\Windows Sun Java bin;C:\Windows system32;C:\finestre;C:/Program Files / Java / jre7 / bin / cliente;C:/Programmi / Java / jre7 / bin;C:/Program Files / Java / jre7 / lib / i386;C:\Windows system32;C:\finestre;C:\Windows System32 Wbem;C:\Windows System32 WindowsPowerShell v1.0 ;C:\Programmi Java jdk1.6.0_10 bin;E:\apache-ant-1.8.2-bin apache-ant-1.8.2 bin;C:\Programmi Liquid Technologies Liquid XML Studio 2011 XmlDataBinder9 Redist9 cpp win32 bin ;C:\Programmi TortoiseSVN bin;E:\Programmi Android android-sdk platform-tools;E:\Programmi Android android-sdk tools;C:\Programmi QuickTime QTSystem ;D:\Sun AppServer bin;9;F:\Utpal Softs Softs eclipse-java-indaco-win32 eclipse;;.”/><property name =”java.vendor.url” value =”http://java.oracle.com/”/><property name =”java.vm.vendor” value =”Oracle Corporation”/><property name =”java.runtime.name” value =”Java(TM) SE Runtime Environment”/><property name =”sun.java.command” value =”org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner com.home.junit.SampleAddTest filtertrace = true haltOnError = false haltOnFailure = true formattatore = org.apache.tools.ant.taskdefs.optional.junit.SummaryJUnitResultFormatter showoutput = falsi outputtoformatters = true logfailedtests = true logtestlistenerevents = false formattatore = org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,F:\Work RnDSpace Junit resoconto del test TEST-com.home.junit.SampleAddTest.xml crashfile = F:\Work RnDSpace Junit junitvmwatcher6288340937110531134.properties propsfile = F:\Work RnDSpace Junit junit7583515827572177542.properties”/><property name =”java.class.path” value =”F:\Work RnDSpace Junit lib JUnit-4.11.jar;F:\Work RnDSpace Junit lib hamcrest-core-1.3.jar;F:\Work RnDSpace Junit bin;F:\Work RnDSpace Junit bin test;F:\Work RnDSpace Junit;C:\Programmi Java jdk1.6.0_10 jre lib rt.jar;F:\UtpalSoftsSoftseclipse-java-indigo-win32eclipsepluginsorg.apache.ant_1.8.2.v20110505-1300libant-launcher.jar;F:\UtpalSoftsSoftseclipse-java-indigo-win32eclipsepluginsorg.apache.ant_1.8.2.v20110505-1300libant.jar;F:\UtpalSoftsSoftseclipse-java-indigo-win32eclipsepluginsorg.apache.ant_1.8.2.v20110505-1300libant-junit.jar;F:\UtpalSoftsSoftseclipse-java-indigo-win32eclipsepluginsorg.apache.ant_1.8.2.v20110505-1300libant-junit4.jar”/><property name =”ant.version” value =”Apache Ant(TM) version 1.8.2 compilato dicembre 20 2010″/><property name =”java.vm.specification.name” value =”Java Virtual Machine Specification”/><property name =”java.vm.specification.version” value =”1.7″/><property name =”sun.cpu.endian” value =”piccolo”/><property name =”sun.os.patch.level” value =”Service Pack 1″/><property name =”eclipse.pdebuild.home” value =”/F:/Utpal/Softs/Softs/eclipse-java-indigo-win32/eclipse/plugins/org.eclipse.pde.build_3.7.0.v20110512-1320/./”/><property name =”java.io.tmpdir” value =”C:\Utenti utpalb AppData Local Temp ”/><property name =”java.vendor.url.bug” value =”http://bugreport.sun.com/bugreport/”/><property name =”os.arch” value =”x86″/><property name =”java.awt.graphicsenv” value =”sun.awt.Win32GraphicsEnvironment”/><property name =”java.ext.dirs” value =”C:\Programmi Java jre7 lib ext;C:\Windows Sun Java lib ext”/><property name =”user.dir” value =”F:\Work RnDSpace Junit accumulo”/><property name =”build.test.dir” value =”F:\Work RnDSpace Junit bin test”/><property name =”line.separator” value =” “/><property name =”java.vm.name” value =”Java HotSpot(TM) client VM”/><property name =”basedir” value =”F:\Work RnDSpace Junit”/><property name =”ant.java.version” value =”1.7″/><property name =”ant.core.lib” value =”F:\UtpalSoftsSoftseclipse-java-indigo-win32eclipsepluginsorg.apache.ant_1.8.2.v20110505-1300libant.jar”/><property name =”file.encoding” value =”CP1252″/><property name =”java.specification.version” value =”1.7″/><property name =”src.dir” value =”F:\Work RnDSpace Junit src”/><property name =”ant.project.invoked-obiettivi” value =”principale”/></properties><tempo testcase =”0.003″ name =”testAdd” classname =”com.home.junit.SampleAddTest”/>-<Sistema-out>

<![CDATA[]]>

</Sistema-out>-<Sistema-err>

<![CDATA[]]>

</Sistema-err></testsuite>

[/Code]

Conclusione:

  • Apache Ant un programma di utilità basato su Java utilizzata dagli sviluppatori Java per le seguenti finalità
    • Per generare i binari dal codice sorgente
    • Per generare javadocs per il codice sorgente
    • Per eseguire casi di test JUnit su una base di codice
  • ANT in collaborazione con JUnit, aiuta gli sviluppatori Java di seguire la metodologia Test Driven Development

 

Taggato su: , ,
============================================= ============================================== Acquista i migliori libri di tecnologia su Amazon,en,ELETTRICI CT COSTRALETTRICO,en
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share