Apache Ant

Den aktuelle version af siden er endnu ikke blevet gennemgået af erfarne bidragydere og kan afvige væsentligt fra den version , der blev gennemgået den 29. maj 2014; checks kræver 19 redigeringer .
Apache Ant
(endnu et pænt værktøj)
Type Monteringsautomatisering
Udvikler Apache Software Foundation
Skrevet i Java [2] [1]
Operativ system Cross-platform software
Første udgave juli 2000 og 17. februar 2006 [1]
Hardware platform Java virtuel maskine
nyeste version
Licens Apache 2.0-licens
Internet side ant.apache.org
 Mediefiler på Wikimedia Commons

Apache Ant ( engelsk  ant  - en ant og et akronym  - "Another Neat Tool") er et værktøj til at automatisere processen med at bygge et softwareprodukt. Det er en cross-platform analog af make -værktøjet , hvor alle kommandoer er skrevet i XML -format.

Ant blev skabt som en del af Jakarta -projektet , i dag er det et uafhængigt første-niveau-projekt af Apache Software Foundation .

Den første version blev udviklet af Sun Microsystems ingeniør James Davidson .) der havde brug for et hjælpeprogram som mærke under udviklingen af ​​den første J2EE referenceimplementering .

Ant giver, i modsætning til den anden projektbygger Apache Maven , et imperativt snarere end et deklarativt projektbyggeri.

Beskrivelse

I modsætning til make er Ant-værktøjet fuldstændig platformsuafhængigt, det kræver kun, at Java -arbejdsmiljøet  ( JRE ) er installeret på det system, der bruges . Udeladelsen af ​​styresystemkommandoer og XML -formatet giver mulighed for overførsel af scripts.

Byggeprocessen styres af et XML -script, også kaldet en byggefil. Først og fremmest indeholder denne fil definitionen af ​​projektet, som består af individuelle mål ( Targets ). Mål kan sammenlignes med procedurer i programmeringssprog og indeholder opkald til opgavekommandoer ( Tasks ). Hver opgave er en udelelig, atomisk kommando, der udfører en elementær handling.

Afhængigheder kan defineres mellem mål - hvert mål udføres først, efter at alle de mål, det afhænger af, er gennemført (hvis de allerede er gennemført før, udføres genudførelse ikke).

Typiske eksempler på mål er clean (fjernelse af mellemliggende filer), kompilering ( kompilering af alle klasser), deploy (implementering af applikationen på serveren). Det specifikke sæt af mål og deres relationer afhænger af projektets detaljer.

Ant giver dig mulighed for at definere dine egne opgavetyper ved at oprette Java-klasser , der implementerer bestemte grænseflader .

Ofte brugte opgaver (Opgaver)

Distributionen omfatter mange biblioteker, der påvirker en lang række opgaver. Derudover er der yderligere biblioteker tilgængelige på projektets hjemmeside, der udvider produktets funktionalitet, for eksempel til integration med tredjepartssystemer. Standardversionen indeholder over 150 opgavetyper. Eksempler på sådanne kommandoer er vist nedenfor.

Koden Handling
javac kompilering af Java-kode
kopi kopiering af filer
slette sletning af filer og mapper
bevæge sig flytte filer og mapper
erstatte udskiftning af tekstfragmenter i filer
junit automatisk kørsel af enhedstests
exec udførelse af en ekstern kommando
lynlås oprettelse af et Zip- arkiv
cvs udføre CVS- kommando
post sende e- mail
xslt Overlay XSLT Transformers

Eksempel på script

Dette script definerer to mål, clean og build . Den første fjerner midlertidige filer, den anden kompilerer og opretter et JAR- arkiv. Byggemålet afhænger af clean , så når det kører, vil det først rydde op og først derefter udføre de faktiske byggejobs . Byg er også valgt som standardmål. Det betyder, at det vil blive udført, når dette script behandles uden eksplicit at angive et mål.

<?xml version="1.0"?> <project default= "build" basedir= "." > <property name= "name" value= "AntBuildJar" /> <property name= "src.dir" location= "${basedir}/src" /> <property name= "build" location= "${basedir} /build" /> <property name= "build.classes" location= "${build}/classes" /> <sti id= "libs.dir" > <fileset dir= "lib" include = "**/* .jar" /> </path> <!-- Byg applikationen --> <target name= "build" depends= "clean" description= "Bygger applikationen" > <!-- Opret mapper --> <mkdir dir = "${build.classes}" /> <!-- Kompiler kildefiler --> <javac srcdir= "${src.dir}" destdir= "${build.classes}" debug= "false" deprecation= "true" optimize= "true" > <classpath refid= "libs.dir" /> </javac> <!-- Kopier nødvendige filer --> <copy todir= "${build.classes}" > <fileset dir= "${src.dir}" include = "**/*.*" excludes= "** /*.java" /> </copy> <!-- Opret JAR-fil --> <jar jarfile= "${build}/${name}.jar" > <fileset dir= "${build.classes}" /> </jar> </target > <!-- Oprydning --> <target name= "clean" description= "Fjerner alle midlertidige filer" > <!-- Fjern filer --> <delete dir= "${build.classes}" /> </target > </projekt>

Noter

  1. 1 2 https://projects.apache.org/json/projects/ant.json
  2. Myren Open Source-projektet på Open Hub: Languages-side - 2006.
  3. Apache Ant™ Project News

Se også

  • Apache Maven  er et alternativt værktøj med lignende opgaver
  • Gradle er et alternativt værktøj, der understøtter opgaver fra ant

Links