Tulisan kali ini akan membahas tentang penggunaan Apache Ant dalam pemrograman java. Apache Ant merupakan tool yang fungsi utamanya adalah untuk mengotomatiskan proses dalam pembuatan program java. Tool ini akan bermanfaat jika kita terpaksa harus membuat program dalam sistem operasi yang tidak memiliki antarmuka grafis (GUI) atau tidak ingin menggunakan aplikasi IDE (NetBeans, Eclipse, dan sejenisnya).
Instalasi dan Konfigurasi
Apache Ant bisa di-download dari alamat url http://ant.apache.org/bindownload.cgi, dan disediakan dalam format berkas .zip
dan .tar.gz
. Download format berkas yang bisa anda gunakan kemudian ekstrak di direktori yang anda inginkan.
Untuk bisa menggunakan Apache Ant, kita perlu membuat variabel sistem dengan nama %ANT_HOME%
dan menambahkan folder bin
dari direktori Apache Ant kedalam variabel %PATH%
. Perhatikan langkah-langkah berikut :
Diasumsikan kita mengestrak berkas yang sudah didownload sebelumnya pada direktori C:\Program Files\
, maka nilai variabel %ANT_HOME%
adalah C:\Program Files\apache-ant-1.10.1
(versi yang saya gunakan adalah 1.10.1).
Dalam direktori Apache Ant terdapat folder dengan nama bin
yang berisi file-file yang bisa dieksekusi. Nilai yang akan kita tambahkan ke dalam variabel %PATH%
adalah C:\Program Files\apache-ant-1.10.1\bin
.
Variabel sistem dapat disetting melalui Control Panel ⇒ System and Security ⇒ System ⇒ Advanced System Settings ⇒ Pada jendela System Properties klik tombol Environment Variables. Untuk menambah variabel baru klik tombol New dan untuk memodifikasi variabel yang sudah ada klik tombol Edit. Hasil akhir dari konfigurasi adalah sebagai berikut :
Kita bisa menguji hasil konfigurasi melalui aplikasi Command Prompt dengan mengetikkan perintah ant
, seperti berikut :
Menggunakan Apache Ant
Apache Ant menggunakan sebuah file XML dengan nama build.xml
. File build.xml
berisi sebuah project
dan sebuah project menampung paling sedikit satu buah target
. Target akan menampung satu atau lebih elemen perintah yang harus dikerjakan.
Contoh sederhana dari file build.xml
adalah sebagai berikut :
<?xml version="1.0"?>
<project name="HelloWorldGUI" basedir="." default="init"> <!-- project -->
<target name="init"> <!-- target -->
<mkdir dir="classes"/> <!-- task 1 -->
<mkdir dir="dist"/> <!-- task 2 -->
</target>
</project>
Penjelasan :
- Elemen
project
terdiri atas beberapa atribut, yaitu :name
merupakan nama dari projectbasedir
mengindikasikan direktori dari project. simbol titik ( . ) mengindikasikan project berada di direktori saat ini (current directory)default
berisi nama dari target yang akan dieksekusi secara default.
- Elemen
target
menggunakan satu buah atributname
yaitu nama dari target tersebut. - Elemen
target
terdiri atas 2 buah perintah (task)mkdir
yang digunakan untuk membuat folder. Daftar lengkap dari task dapat dilihat pada halaman manual yang disediakan.
Eksekusi dua atau lebih target
secara berurutan dapat dilakukan dengan memanfaatkan atribut depends
. Perhatikan contoh berikut :
<target name="A"></target>
<target name="B" depends="A"></target>
Pada contoh diatas, target B bergantung (depends) kepada target A. Tiap kali kita memanggil target B, Apache Ant akan mengerjakan task pada target A baru kemudian mengerjakan task pada target B.
Contoh Program
Dalam contoh ini kita akan membuat sebuah program java menggunakan Apache Ant. Kita tentukan direktori project yaitu C:\HelloWorldGUI
. Dalam direktori tersebut, kita membuat sebuah folder baru dengan nama src
yang nantinya akan menampung kode program java. Selain itu kita juga membuat file build.xml
seperti berikut :
<?xml version="1.0"?>
<project name="HelloWorldGUI" basedir="." default="build">
<target name="clean">
<delete dir="classes"/>
<delete dir="dist"/>
</target>
<target name="init">
<mkdir dir="classes"/>
<mkdir dir="dist"/>
</target>
<target name="build" depends="clean,init">
<javac includeAntRuntime="false" srcdir="src" destdir="classes"/>
</target>
<target name="test" depends="build">
<java classpath="classes" classname="com.sad301.Main" fork="true" spawn="true"/>
</target>
<target name="dist" depends="build">
<jar destfile="dist/HelloWorldGUI.jar" basedir="classes"/>
</target>
</project>
Sampai disini kita bisa lanjutkan ke penulisan kode program. Ketikkan kode berikut kemudian simpan pada folder src
dengan nama Main.java
.
package com.sad301;
import javax.swing.*;
public class Main extends JFrame {
public Main() {
setTitle("Hello World GUI");
setSize(400, 400);
setLocationRelativeTo(null);
setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE);
setVisible(true);
}
public static void main(String[] args) {
SwingUtilities.invokeLater(() -> {
(new Main()).setVisible(true);
});
}
}
Berdasarkan file build.xml
diatas, kita memiliki 5 pilihan target yaitu :
clean
⇒ target ini akan menghapus folderclasses
dandist
init
⇒ target ini akan membuat folder dengan namaclasses
dandist
build
⇒ target ini akan meng-compile kode program yang tersimpan di foldersrc
dan menyimpan file.class
hasil kompilasi di folderclasses
. Target ini juga akan mengerjakanclean
daninit
test
⇒ target ini menjalankan program java yang tersimpan di folderclasses
. Target ini juga akan mengerjakanbuild
dist
⇒ target ini mengepak file-file.class
menjadi file.jar
didalam folderdist
. Target ini juga akan mengerjakanbuild
Jalankan kembali aplikasi command prompt, kemudian pindah ke direktori C:\HelloWorldGUI
. Pada direktori tersebut kita bisa eksekusi Apache Ant dengan menyebutkan salah satu dari 5 target diatas, sebagai contoh :
ant dist
Output dari perintah diatas adalah sebagai berikut :