Mengenali Penggunaan Apache Ant

Intinya, Apache Ant itu kata senior gw, buat ngatur struktur file dari aplikasi java. Mirip sama Netbeans yang ada peletakan folder2 tertentu buat class, source java, library atau buid direktori. Atau fungsinya mirip Maven. Cuma ajah Maven itu lebih ke suatu framework disbanding tool layaknya Ant. Yang gitu2 deh. Dan kabar2 yang gw dapat dari senior gw yang lain… (gw berasa junior banget dah di mari) si Netbeans itu pake struktur Ant jugak… Hmmm… Hmmm…
*angguk-anguk*

Jadi, buat demo-nya yang gampang ajah yak… Kalo yang sulit, ntar ajah pas kamu dapat proyek beneran (btw…di gw,  hal2 kecil kadang jugak baru ketauan ada pas harus ngerjain sesuatu—jadi ngerasa minim banget ilmu yang didapat pas kuliah).

Langsung ajah… Install Apache Ant dengan meng-extract archive file dari situs ant. Trus atur path Ant biar dikenali ama command prompt.

Trus, buat 2 kelas java:

AksesNama.java

public class AksesNama {

    public void tampil(String nama) {
        System.out.println("Hai " + nama);
    }

    public void tampil(String nama, String jk) {
        if (jk.equalsIgnoreCase("Pria")) {
            System.out.println("Hai " + nama + " Ganteng");
        } else if (jk.equalsIgnoreCase("Wanita")) {
            System.out.println("Hai " + nama + " Ganteng");
        } else {
            tampil(nama);
        }
    }
}

Main.java

public class Main {
    public static void main(String[] args) {
        AksesNama an = new AksesNama();
        an.tampil("Arby", "pria");
    }
}

Kita bisa ajah kan ya compile 2 class itu jadi .class yang bisa dijalanin pake command “java”. Tapi, file class yang kebentuk bakal ada di class yang sama dengan file java. Bayangin kalo kamu punya project gede… hal ini katanya gak banget (kata senior gw—gw c iya2 ajah—gw gak ngerti pas dia nyebut file WAR, JAR de el el de es be).

Makanya di-compile pake struktur ant…

Dan dari contoh di atas, kita bisa bikin suatu file XML (build.xml) gini:

<?xml version="1.0" encoding="UTF-8"?>
<project name="NameProject" default="src" basedir=".">
 
 <property name="src.dir" value="src" />
 <property name="build.dir" value="build" />
 <property name="build.dir.classes" value="build/classes" />
 <property name="build.dir.jar" value="build/jar" />

 <target name="compile">
 <mkdir dir="${build.dir.classes}" />
 <javac srcdir="${src.dir}" destdir="${build.dir.classes}" />
 </target>

 <target name="package" depends="compile">
 <jar destfile="${build.dir.jar}/NameAccess.jar" basedir="${build.dir.classes}">
 <manifest>
 <attribute name="Main-Class" value="Main" />
 </manifest>
 </jar>
 </target>

 <target name="run" depends="package">
 <java jar="${build.dir.jar}/NameAccess.jar" fork="true" />
 </target>

 <target name="clean">
 <delete dir="${build.dir}" />
 </target>
</project>

XML di atas maksutnya…. Compile maksutnya ngumpulin semua file class yang kebentuk di dir terkait. Compile semua file dari direktori “${src.dir}” trus class-nya ditaruh di “${build.dir.classes}”. Setiap dolar2 itu, terkait ke property dengan nama yang sama. Contohnya, “${src.dir}”maksutnya direktori “src” dan seterusnya.

Package, maksutnya ngebikin file jar (runnable dari file java) dan diletakin di direktori “${build.dir.jar}”. Nama jar-nya itu “NameAccess.jar” dan dibikin dari class yang ada di direktori “${build.dir.classes}”. Terakhir… run, maksutnya ngejalanin yang udah kebentuk di “package”.

Jadi, dari struktur direktori gw gini (build.xml ada di NameProject):

1. Struktur Direktori Project

Dan jalanin command gini:

ant compile

2. Ant Compile

Dan struktur direktori jadi:

1. Struktur Direktori Project Baru

Ada build yang kebentuk… dan ada folder class jugak.

Terus, target berikutnya… package

ant package

Dan folder jar-nya bakal kebentuk

1. Struktur Direktori Project Baru Package

Dan target terakhir… run!

ant run

3. Ant Run

Yaaaiiiyyy!! Jalan!

Dan begitulah cara dasar menggunakan ant. Dan… yap! Target itu bisa kamu ubah2 sesukamu, dan jalanin tergantung target yang ditulisin. Contohnya ajah gini… Ada file build.xml:

<?xml version="1.0" encoding="UTF-8"?>
<project name="NameProject" default="src" basedir=".">
 
 <property name="src.dir" value="src" />
 <property name="build.dir" value="build" />
 <property name="build.dir.classes" value="build/classes" />
 <property name="build.dir.jar" value="build/jar" />

 <target name="kompail">
 <mkdir dir="${build.dir.classes}" />
 <javac srcdir="${src.dir}" destdir="${build.dir.classes}" />
 </target>

 <target name="paket" depends="kompail">
 <jar destfile="${build.dir.jar}/NameAccess.jar" basedir="${build.dir.classes}">
 <manifest>
 <attribute name="Main-Class" value="Main" />
 </manifest>
 </jar>
 </target>

 <target name="jalankan" depends="paket">
 <java jar="${build.dir.jar}/NameAccess.jar" fork="true" />
 </target>

 <target name="clean">
 <delete dir="${build.dir}" />
 </target>
</project>

Gw pake kata “jalankan” buat ngegantiin run… dan yaaa… dia berjalan 😀

4. Jalankan

Sumber: http://catatankecilsalman.blogspot.com/2012/04/compile-hellowordjava-menggunakan.html

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s