Bagaimana untuk mengautomasikan proses membina anda menggunakan Java dan Semut?

Automate build with Ant

Mengautomasikan membina dengan Ant

Tinjauan:

Dalam dokumen ini kita akan membincangkan tentang semut membina alat dan menggunakan ini bagaimana kita boleh mengautomasikan mekanisme membina untuk aplikasi java berasaskan. Dalam era ant hari ini telah menjadi bahagian penting dalam pembangunan java. Kebanyakan pelanggan suka untuk mempunyai skrip membina automatik sebagai sebahagian daripada kod sumber yang disampaikan. Sebab untuk ini adalah kesederhanaan yang diberikan oleh semut supaya sesiapa sahaja yang mempunyai pengetahuan skrip sedikit boleh menjana binari deployable tanpa mengetahui permohonan itu secara terperinci.

Pengenalan:
Apache semut adalah alat bina generik. Dirian nama ANT singkatan untuk 'Satu lagi Tool kemas'. Alat ini adalah sama dengan utiliti 'Make' dalam UNIX tetapi dilaksanakan menggunakan Java. Ia terutamanya digunakan untuk membina binari daripada kod sumber java berasaskan dan menggunakan binari yang dihasilkan untuk pelayan aplikasi yang telah ditetapkan. Ia juga boleh digunakan untuk menjana javadocs untuk pangkalan kod dan untuk melaksanakan suite ujian unit untuk seluruh pangkalan kod. Ant dengan kerjasama Junit membantu pemaju untuk mengikuti pendekatan pembangunan yang didorong oleh ujian.

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. Nama lalai fail ini ialah build.xml. Sesetengah pemaju juga menggunakan ciri-ciri memfailkan iaitu build.properties untuk menentukan beberapa ciri-ciri e.g. yang nombor binaan versi dan parameter alam sekitar yang lain yang diperlukan kepada perubahan dari semasa ke semasa mengikut keperluan.

pemasangan:
Fedora: pada RHEL, ANT boleh dipasang menggunakan arahan - yum memasang semut atau ia boleh dipasang menggunakan rpm - i perintah. Dalam kes ini, anda perlu memuat turun pakej semut pertama.

Debian: pada Ubuntu, ANT boleh dipasang menggunakan arahan - apt-get install semut.

Windows: Mengenai alam sekitar tingkap kita perlu memuat turun ant_ yang<VERSION_NO>.fail zip. Ini bundle zip perlu diekstrak dalam folder. Folder ini perlu ditakrifkan sebagai pembolehubah persekitaran ANT_HOME.

Fail sampel build.xml ditunjukkan sebagai di bawah:

PENYENARAIAN 1: fail build.xml sampel

[Code]

<?short xml =”1.0″?>

<nama projek =”Ant-Test” lalai =”utama” basedir =”.”>

<!– Set pembolehubah yang kemudiannya boleh digunakan. –>

<!– Nilai harta yang diakses melalui ${} –>

<nama harta =”src.dir” lokasi =”src” />

<nama harta =”build.dir” lokasi =”bin” />

<nama harta =”dist.dir” lokasi =”dist” />

<nama harta =”docs.dir” lokasi =”docs” />

<!– Memadam bina sedia ada, docs dan direktori dist–>

<nama target =”bersih”>

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

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

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

</sasaran>

<!– Mencipta bina, docs dan direktori dist–>

<nama target =”MakeDir”>

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

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

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

</sasaran>

<!– Menyusun kod java (termasuk penggunaan perpustakaan untuk JUnit –>

<nama target =”compile” bergantung =”bersih, MakeDir”>

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

</javac>

</sasaran>

<!– mencipta Javadoc –>

<nama target =”docs” bergantung =”compile”>

<Javadoc packagenames =”src” sourcepath =”${src.dir}” rampasan =”${docs.dir}”>

<!– Tentukan yang fail / direktori seharusnya dimasukkan, kami menggunakan semua –>

<set fail yang dir =”${src.dir}”>

<termasuk name =”**” />

</set fail>

</Javadoc>

</sasaran>

<!–Mencipta fail balang deployable –>

<nama target =”jar” bergantung =”compile”>

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

<nyata>

<sifat name =”Main-Kelas” value =”test.Main” />

</nyata>

</jar>

</sasaran>

<nama target =”utama” bergantung =”compile, jar, docs”>

<penerangan>sasaran utama</penerangan>

</sasaran>

</projek>

[/Code]

Automation menggunakan ANT:
Ant memberikan bantuan yang besar kepada pemaju java. Hampir tiap-tiap pemaju java akan suka untuk mempunyai skrip yang boleh menjaga menjalankan ujian unit dan mewujudkan fail pengedaran binari yang boleh digunakan pada pelayan aplikasi. Ant juga menyediakan cara untuk menjalankan skrip automatik yang digunakan untuk melakukan ujian unit pada asas kod. Thus, ia menyediakan bantuan kepada pemaju yang menggunakan pendekatan pembangunan yang didorong oleh ujian. Seperti yang kita tahu dalam ujian didorong metodologi pembangunan Junit adalah paksaan, ia sentiasa satu kelebihan jika kita mempunyai skrip automatik yang dijalankan semua kes-kes ujian junit dalam satu pergi. Bukan itu sahaja skrip ini juga boleh digunakan jika kita mempunyai mempunyai integrasi berterusan tooled e.g. Hudson. contoh kod berikut kami menunjukkan cara menggunakan ANT dengan Junit.

PENYENARAIAN 2: Fail Contoh java

[Code]

package com.home.junit;

awam kelas SampleAdd {

awam int menambah(int x, int dan) {

pulangan x + dan;

}

}

[/Code]

PENYENARAIAN 3: fail Junit yang sepadan

[Code]

pakej com.home.junit;

import org.junit.After;

import org.junit.Assert;

import org.junit.Before;

import org.junit.Test;

SampleAddTest kelas awam {

swasta SampleAdd sampleClass;

@Before

Persediaan tidak sah awam() {

sampleClass = SampleAdd baru();

}

@Test

awam tidak sah testAdd() {

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

}

@After

settleDown terbatal awam() {

sampleClass = null;

}

}

[/Code]

PENYENARAIAN 4: Skrip ANT untuk menyusun dan menjalankan ujian Junit yang

[Code]

<?short xml =”1.0″?>

<nama projek =”JUNIT” lalai =”utama” basedir =”..”>

<!– Set pembolehubah yang kemudiannya boleh digunakan. –>

<!– Nilai harta yang diakses melalui ${} –>

<nama harta =”src.dir” lokasi =”src” />

<nama harta =”test.dir” lokasi =”ujian” />

<nama harta =”build.dir” lokasi =”bin” />

<nama harta =”build.test.dir” lokasi =”bin / ujian” />

<!– Pemboleh ubah yang digunakan untuk JUnit testin –>

<nama harta =”test.report.dir” lokasi =”port menyesuaikan” />

<!– Tentukan classpath yang meliputi junit.jar dan kelas selepas menyusun–>

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

<lokasi pathelement =”lib / junit-4.11.jar” />

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

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

</jalan>

<!– Memadam bina sedia ada, docs dan direktori dist–>

<nama target =”bersih”>

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

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

</sasaran>

<!– Mencipta bina, docs dan direktori dist–>

<nama target =”MakeDir”>

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

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

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

</sasaran>

<!– Menyusun kod java (termasuk penggunaan perpustakaan untuk JUnit –>

<nama target =”compile” bergantung =”bersih, MakeDir”>

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

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

</javac>

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

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

</javac>

</sasaran>

<!– Jalankan Ujian JUnit –>

<!– Output adalah XML, juga boleh menjadi nyata–>

<nama target =”junit” bergantung =”compile”>

<junit printsummary =”on” garpu =”benar” haltonfailure =”ya”>

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

<classpath>

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

</classpath>

<jenis Pemformat =”xml” />

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

<set fail yang dir =”${test.dir}”>

<termasuk name =”**/*Ujian * .java” />

</set fail>

</batchtest>

</junit>

</sasaran>

<nama target =”utama” bergantung =”compile, junit”>

<penerangan>sasaran utama</penerangan>

</sasaran>

</projek>

[/Code]

Apabila kita menjalankan skrip ini, ia mula-mula menyusun asas kod dan kemudian menjalankan ujian junit pada kod yang disusun dan akhirnya menjana laporan ujian. Laporan ujian boleh dijana dalam mana-mana format. Untuk kemudahan kita telah menjana ini dalam format XML.

PENYENARAIAN 5: Laporan ujian Generated in format XML

[Code]

<?short xml =”1.0″ pengekodan =”UTF-8″?>

-<Test suite timestamp =”2013-10-26T18:52:45″ masa =”0.077″ ujian =”1″ name =”com.home.junit.SampleAddTest” nama hos =”INDTAPPL132-001″ kegagalan =”0″ kesilapan =”0″>-<properties><nama harta =”java.vendor” value =”Oracle Corporation”/><nama harta =”sun.java.launcher” value =”SUN_STANDARD”/><nama harta =”eclipse.pdebuild.templates” value =”/F:/Utpal/Softs/Softs/eclipse-java-indigo-win32/eclipse/plugins/org.eclipse.pde.build_3.7.0.v20110512-1320/templates/”/><nama harta =”sun.management.compiler” value =”HotSpot Pelanggan Compiler”/><nama harta =”os.name” value =”Windows 7″/><nama harta =”sun.boot.class.path” value =”C:\Program Files Java jre7 lib resources.jar;C:\Program Files Java jre7 lib rt.jar;C:\Program Files Java jre7 lib sunrsasign.jar;C:\Program Files Java jre7 lib jsse.jar;C:\Program Files Java jre7 menjadi jce.jar;C:\Program Files Java jre7 lib charsets.jar;C:\Program Files Java jre7 lib jfr.jar;C:\Program Files Java jre7 kelas”/><nama harta =”sun.desktop” value =”windows”/><nama harta =”java.vm.specification.vendor” value =”Oracle Corporation”/><nama harta =”ant.home” value =”F:\Utpal Softs Softs gerhana-java-indigo-win32 gerhana plugin org.apache.ant_1.8.2.v20110505-1300″/><nama harta =”java.runtime.version” value =”1.7.0_45-B18″/><nama harta =”user.name” value =”utpalb”/><nama harta =”build.dir” value =”F:\Kerja RnDSpace Junit bin”/><nama harta =”user.language” value =”dalam”/><nama harta =”test.report.dir” value =”F:\Kerja RnDSpace Junit testreport”/><nama harta =”sun.boot.library.path” value =”C:\Program Files Java jre7 bin”/><nama harta =”ant.project.default sasaran” value =”utama”/><nama harta =”ant.project.name” value =”JUNIT”/><nama harta =”java.version” value =”1.7.0_45″/><nama harta =”user.timezone” value =””/><nama harta =”sun.arch.data.model” value =”32″/><nama harta =”java.endorsed.dirs” value =”C:\Program Files Java jre7 lib disahkan”/><nama harta =”sun.cpu.isalist” value =”pentium_pro MMX pentium_pro Pentium MMX Pentium i486 i386 i86″/><nama harta =”sun.jnu.encoding” value =”Cp1252″/><nama harta =”file.encoding.pkg” value =”sun.io”/><nama harta =”file.separator” value =”\”/><nama harta =”java.specification.name” value =”API Java Platform Spesifikasi”/><nama harta =”java.class.version” value =”51.0″/><nama harta =”user.country” value =”US”/><nama harta =”java.home” value =”C:\Program Files Java jre7″/><nama harta =”java.vm.info” value =”mod campuran, berkongsi”/><nama harta =”ant.file” value =”F:\Kerja RnDSpace Junit membina build.xml”/><nama harta =”os.version” value =”6.1″/><nama harta =”path.separator” value =”;”/><nama harta =”java.vm.version” value =”24.45-B08″/><nama harta =”user.variant” value =””/><nama harta =”ant.library.dir” value =”F:\Utpal Softs Softs gerhana-java-indigo-win32 gerhana plugin org.apache.ant_1.8.2.v20110505-1300 lib”/><nama harta =”java.awt.printerjob” value =”sun.awt.windows.WPrinterJob”/><nama harta =”sun.io.unicode.encoding” value =”UnicodeLittle”/><nama harta =”ant.file.type.JUNIT” value =”file”/><nama harta =”awt.toolkit” value =”sun.awt.windows.WToolkit”/><nama harta =”user.script” value =””/><nama harta =”ant.file.JUNIT” value =”F:\Kerja RnDSpace Junit membina build.xml”/><nama harta =”eclipse.pdebuild.scripts” value =”/F:/Utpal/Softs/Softs/eclipse-java-indigo-win32/eclipse/plugins/org.eclipse.pde.build_3.7.0.v20110512-1320/scripts/”/><nama harta =”user.home” value =”C:\Users utpalb”/><nama harta =”java.specification.vendor” value =”Oracle Corporation”/><nama harta =”test.dir” value =”F:\Bekerja RnDSpace Junit ujian”/><nama harta =”java.library.path” value =”C:\Program Files Java jre7 bin;C:\Windows Sun Java bin;C:\Windows system32;C:\Windows;C:/Program Files / Java / jre7 / bin / pelanggan;C:/Program Files / Java / jre7 / bin;C:/Program Files / Java / jre7 / lib / i386;C:\Windows system32;C:\Windows;C:\Windows System32 WBEM;C:\Windows System32 WindowsPowerShell v1.0 ;C:\Program Files Java jdk1.6.0_10 bin;Ia:\apache-semut-1.8.2-bin apache-semut-1.8.2 bin;C:\Program Files Liquid Technologies Liquid XML Studio 2011 XmlDataBinder9 Redist9 cpp win32 bin;C:\Program Files TortoiseSVN bin;Ia:\Program Files Android android-sdk platform-tools;Ia:\Program Files Android android-sdk alat ;C:\Program Files QuickTime QTSystem ;D:\Sun AppServer bin;9;F:\Utpal Softs Softs gerhana-java-indigo-win32 gerhana;;.”/><nama harta =”java.vendor.url” value =”http://java.oracle.com/”/><nama harta =”java.vm.vendor” value =”Oracle Corporation”/><nama harta =”java.runtime.name” value =”Java(TM) SE Runtime Environment”/><nama harta =”sun.java.command” value =”org.apache.tools.ant.taskdefs.optional.junit.JUnitTestRunner com.home.junit.SampleAddTest filtertrace = true haltOnError = haltOnFailure palsu = Pemformat benar = org.apache.tools.ant.taskdefs.optional.junit.SummaryJUnitResultFormatter showoutput = outputtoformatters palsu = logfailedtests benar = logtestlistenerevents benar = pemformat palsu = org.apache.tools.ant.taskdefs.optional.junit.XMLJUnitResultFormatter,F:\Kerja RnDSpace Junit testreport UJIAN-com.home.junit.SampleAddTest.xml crashfile = F:\Kerja RnDSpace Junit junitvmwatcher6288340937110531134.properties propsfile = F:\Kerja RnDSpace Junit junit7583515827572177542.properties”/><nama harta =”java.class.path” value =”F:\Kerja RnDSpace Junit lib junit-4.11.jar;F:\Kerja RnDSpace Junit lib hamcrest-core-1.3.jar;F:\Kerja RnDSpace Junit bin;F:\Bekerja RnDSpace Junit ujian bin ;F:\Kerja RnDSpace Junit;C:\Program Files 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”/><nama harta =”ant.version” value =”Ant(TM) version 1.8.2 yang disusun berdasarkan Disember 20 2010″/><nama harta =”java.vm.specification.name” value =”Java Virtual Machine Spesifikasi”/><nama harta =”java.vm.specification.version” value =”1.7″/><nama harta =”sun.cpu.endian” value =”sedikit”/><nama harta =”sun.os.patch.level” value =”Service Pack 1″/><nama harta =”eclipse.pdebuild.home” value =”/F:/Utpal/Softs/Softs/eclipse-java-indigo-win32/eclipse/plugins/org.eclipse.pde.build_3.7.0.v20110512-1320/./”/><nama harta =”java.io.tmpdir” value =”C:\Users utpalb AppData Local Temp ”/><nama harta =”java.vendor.url.bug” value =”http://bugreport.sun.com/bugreport/”/><nama harta =”os.arch” value =”x86″/><nama harta =”java.awt.graphicsenv” value =”sun.awt.Win32GraphicsEnvironment”/><nama harta =”java.ext.dirs” value =”C:\Program Files Java jre7 lib ext;C:\Windows Sun Java lib ext”/><nama harta =”user.dir” value =”F:\Kerja RnDSpace Junit bina”/><nama harta =”build.test.dir” value =”F:\Bekerja RnDSpace Junit ujian bin ”/><nama harta =”line.separator” value =” “/><nama harta =”java.vm.name” value =”Java HotSpot(TM) Pelanggan VM”/><nama harta =”basedir” value =”F:\Kerja RnDSpace Junit”/><nama harta =”ant.java.version” value =”1.7″/><nama harta =”ant.core.lib” value =”F:\UtpalSoftsSoftseclipse-java-indigo-win32eclipsepluginsorg.apache.ant_1.8.2.v20110505-1300libant.jar”/><nama harta =”file.encoding” value =”Cp1252″/><nama harta =”java.specification.version” value =”1.7″/><nama harta =”src.dir” value =”F:\Kerja RnDSpace Junit src”/><nama harta =”ant.project.invoked-sasaran” value =”utama”/></properties><ujian masa kes =”0.003″ name =”testAdd” classname =”com.home.junit.SampleAddTest”/>-<sistem keluar>

<![CDATA[]]>

</sistem keluar>-<sistem err>

<![CDATA[]]>

</sistem err></ujian Suite>

[/Code]

Kesimpulan:

  • APACHE ANT utiliti java berasaskan digunakan oleh pemaju Java untuk tujuan berikut
    • Untuk menjana binari dari kod sumber
    • Untuk menjana javadocs untuk kod sumber
    • Untuk menjalankan kes-kes ujian Junit pada asas kod
  • ANT dengan kerjasama Junit, membantu pemaju java untuk mengikuti metodologi Development Test Didorong yang

 

Tagged on: , ,
============================================= ============================================== Buy best TechAlpine Books on Amazon
============================================== ---------------------------------------------------------------- electrician ct chestnutelectric
error

Enjoy this blog? Please spread the word :)

Follow by Email
LinkedIn
LinkedIn
Share