How to create JAR file manually

Dulu waktu kuliah Struktur Data pak rully soelaiman memberi tugas mahasiswanya agar file tugas yang dibuat dikumpulkan dalam bentuk file JAR… hmmm sebenarnya file JAR ini secara otomatis akan dibuatkan oleh IDE Netbeans ketika kita melakukan kompilasi program, tapi waktu itu beliau menyarankan saya untuk berguru pada pak didit… yah akhirnya mau nggak mau harus berburu mas didit untuk meminta penjelasan masalah file JAR secara lebih mendetail…. pengalaman yang seru banget soalnya diskusi yang kami lakukan waktu itu via sms dan telpon… wakkk jadi ya agak bingung waktu di implementasikan… bolak-balik salah… error… waduuu stress waktu itu… apalagi keliatannya mas didit waktu itu sibuk banget.. jadi ngerasa gak enak… sori ya mas didit?? 🙂 nah karena ilmu manual itu sudah aku pahami, sekarang aku mau berbagi ma temen2 yang (mungkin) belum tau bagaimana membuat file JAR dengan cara manual.. ooo iya aku juga inget dulu memberikan tutorial via telpon ke setya… heheheh masih inget yok??? :))

Sebelum kita memulai membuat file JAR alangkah baiknya kalau kita mengetahui apa sih sebenarnya file JAR itu?

JAR itu singkatan dari Java Archive, dimana kita bisa menggabungkan banyak file kedalam satu file yang bisa dijalankan langsung (executeable). Isi dari file JAR ini adalah kumpulan class dan beberapa file pendukung yang dibutuhkan dalam aplikasi yang akan kita buat.

Beberapa keuntungan menggunakan file JAR adalah :

1. Dari sisi keamanan, kita dapat memberikan tanda pada program yang kita buat sehingga program tersebut tidak akan diakui oleh orang lain…

2. Waktu download yang lebih cepat ketika file JAR yang kita buat kita distribusikan, hal ini disebabkan semua file kita jadikan satu dan ditransfer melalu satu transaksi dalam http

3. File JAR bisa dikompres

4. Portabilitas, karena file JAR adalah standard pada JAVA Platform

rangkuman printah untuk membuat file JAR:

Untuk membuat file JAR :


jar cf jar-file input-file(s)

Untuk membuat file JAR dan menambahkan manifest file :


jar cfm jar-file input-file(s)

Untuk melihat isi dari file JAR :


jar tf jar-file

Untuk melakukan ekstraksi file JAR :


jar xf jar-file

Untuk melakukan ekstraksi file tertentu pada file JAR :


jar xf jar-file archived-file(s)

Untuk menjalankan paket aplikasi sebagai file JAR :


java -jar app.jar

Untuk menampilkan file JAR pada applet :


<applet code=AppletClassName.class archive="JarFileName.jar"width=width height=height>

</applet>

Sekarang kita akan mempraktekkan langsung bagaimana membuat file JAR…

kita gunakan source code yang sudah ada pada contoh sebelumnya yaitu file helloword :


class helloword{

public static void main (String args[]){

System.out.println("HelloWord");

}

}

kita panggil cmd seperti pada sharing sebelumnya… dengan cara klik start menu>run kemudian ketik cmd dan tekan enter

misalnya kita simpan file helloword.java ini pada path C:\

maka kita pastikan dulu path yang ditunjukkan apakah sudah sesuai, ada beberapa perintah dasar pada mode command untuk masuk dan keluar dari direktori yaitu :

cd [nama direktori] untuk masuk kedalam direktori

cd .. untuk keluar dari direktori dan masuk ke direktori yang ada di atasnya dalam tree

jenis perintah yang lain bisa temen2 cek sendiri 🙂 untuk melihat list perintah ketikan help pada command

biasanya ketika masuk default set untuk path cmd adalah C:\Dokuments and Settings\[root direktori]> maka temen2 bisa mengetikkan cd.. untuk keluar dan menuju ke path c:\ (sebenarnya saya mencontohkan ini agar tidak perlu menuliskan path yang terlalu panjang… temen2 bisa kok kalo mau ngompile ato mau bikin JAR di direktori manapun).

sebelum membuat JAR file pastikan dulu temen2 sudah mengkompile file helloword.java


C:\javac helloword.java

lalu tekan enter

kemudian lanjutkan dengan mengetikkan


C:\jar cf helloword.jar helloword.class

lalu tekan enter

kita sudah mendapatkan file JAR dengan perintah diatas…

ada dua cara untuk menjalankan file JAR :

1. klik dua kali pada icon jar file yang kita buat

2. ketikkan perintah java -jar [nama file JAR]

ketika kita mencoba menjalankan file JAR yang kita buat diatas ternyata muncul pesan error… kenapa? alasannya adalah kita belum memberikan header pada file manifest.mf di helloword.jar yang kita buat… file manifest ini secara default berada pada direktori META-INF. Memberikan header pada file manifest.mf harus dilakukan secara manual… temen2 bisa melakukan ekstraksi dengan menggunakan winrar atau mengetikan peritah untuk melakukan ekstraksi file JAR dengan cara mengetikkan


C:\jar xf helloword.jar

lalu tekan enter

setelah itu dengan menggunakan windows explorer carilah file manifest kemudian bukanlah dengan menggunakan notepad atau wordpad dengan cara klik kanan pada mouse dan pilih menu Open With… pilih program notepad ato wordpad…

secara default isi dari manifest.mf adalah :


Manifest-Version: 1.0

Created-By: 1.6.0 (Sun Microsystems Inc.)

maka tambahkan perintah untuk menentukan main class dari file JAR yang kita buat…


Manifest-Version: 1.0

Created-By: 1.6.0 (Sun Microsystems Inc.)

Main-Class: helloword

Main-Class: helloword ini memberikan informasi bahwa class utama program tersebut ada pada file helloword.class, baris perintah ini sangat penting ketika kita membuat file JAR yang dapat dijalankan (executable) terutama apabila jumlah class yang ada sangat banyak… ingat bahwa main class dalam paket program hanya boleh ada 1.

kemudian save…

setelah itu ketikkan perintah


C:\jar cfm helloword.jar manifest.mf helloword.class

lalu tekan enter

jalankan program dengan menggunakan salah satu cara diatas maka kita bisa mendapatkan hasil yang diinginkan yaitu pesan HelloWord yang muncul

*note: untuk keluaran pada mode console cara running file JAR yang nomer 1 tidak bisa digunakan.

semoga penjelasan saya cukup jelas… kalau temen2 bingung… ayo kita diskusikan sama2 mungkin penjelasan saya ada yang salah… mohon dikoreksi pula ya? 🙂

Wassalam

23 Responses to “How to create JAR file manually”

  1. mbah_poleng Says:

    hm.. nice article

    hehehehhe

    dulu pak rully pernah kutanya gimana bikin file .exe dari Java.

    dan beliau gak pernah kasih jawabnya.. sampai sekarang. malah tahu sendiri pake exe4j

    soal executable file,

    seandainya dulu tahu di java ada .jar.. mungkin udah pake dari dulu.. masalahnya gak tahu sih…

    SARAN buat mas ANDRE:
    itu coding pake tag dong...biar kita bisa bedakan mana code program mana keterangan...

  2. Ramadhan Says:

    Wei2…. Mo bikin jar bisa pake winzip biasa. Tinggal buat file manifest. Trus taruh di directory META-INF. bis itu tinggal di kompress semuanya pake winzip. terakhir rename ke .jar :D…

  3. parvian Says:

    @mbah_poleng: iya, kemarin sudah diajarin kiki, dikasih linknya… maklum katrok… 🙂 terima kasih mas arif sudah mau datang… 🙂
    @rama: iya, emang kita bisa bikin manifest.mf langsung pake notepad… tapi ketika di run mesti error… terus aku tanya di forumnya sun jawabannya (yang bisa aku terima dari banyak jawaban yang diberikan) tuh katanya file manifest itu dibuat ma JVM dan emang ada hidden commad disana… coba bandingkan file manifest yang kita buat manual ma kita ambil dari manifest yang dibuatkan ma JVMnya… pasti ukuran filenya beda 🙂 ada yang bisa membantu? ato ada yang pernah berhasil nyoba? share dong??? hehehehe

  4. Gyl Says:

    Hmm… ya. Mau nambahin komentar mas poleng :mrgreen:

    Dibedakan mas. Pakai blockquote atau di miringkan.

    Masalah jar… kadang kalo ada winrar di komputer malah gak jadi executable

  5. parvian Says:

    @gyl: seph… wah ni salah satu masternya desain kasih komentar… malu aku :(… thx gyl…

  6. robi Says:

    @poleng

    iya, emang dulu masalah itu pernah jadi pertanyaan…gimana cara buat file exe dari java !!!

    solusi : exe4j

    comment :

    run as expected

    kelebihan :

    – gampang buatnya, ada wizardnya

    kelemahan :

    – BAYAR !!!
    – masih butuh jre yang running well di sistem
    (ternyata file exe yg di-generate isinya cuma panggil class java yg main, dan library jar yg berhubungan )

    kesimpulan :

    – mending bikin .bat, dicustom iconnya wis ngganteng

    @agyl

    solusi 1:
    click kanan file .jar >open with>choose program>cari yg java

    solusi 2:
    remove file association untuk file jar di winrar :D, done

    @andre

    salut, usul : daripada isi contentmu masalah java tok, yaapa lek diisi ngrasani pak kholil ato cewek 2006

  7. parvian Says:

    @robi: rencananya ma MATLAB juga… biar bisa sharing pengalaman :)… wadooo bukan ajang buat itu… 😦

  8. robi Says:

    kalo bahas java, kan udah banyak blognya
    .
    tapi ngerasani “kebijakan” pak kholil kan belum ada

    maju terus ndre, ditunggu artikelnya masalah matlabnya, kalo temanya “gratisan” mending ke freemath : http://freemat.sourceforge.net/wiki/index.php/Main_Page

  9. parvian Says:

    @Kiki Ahmadi: ki… sepurane kalo besok tak hapus
    demi keamanan…

  10. noval78 Says:

    Memang “OM” kita terbaik di kelas nya … salam Ndre

  11. setya5785 Says:

    @robi.. bikin blog bari lagi, judulnya ngerasinipakkholil.wordpress.com rofl
    ditunggu tut matlabnya ndre

  12. ламинат Says:

    2xI’ll thingk about it.0k I compleatly agree with last post. frt
    ламинат и паркет 4d

  13. alali Says:

    maaf mas,
    kalau mau donlud game ke hp dari pc, apakah file type jar itu yang ditransfer ke hp ?

    @alali
    JAR itu type executablenya JAVA jadi memang bisa dibuat sebagai file installer aplikasi juga

  14. brengsekerz Says:

    hohooo…

    jadi mudeng neh..

    kak..

    bisa gak postingin Java Enterprise…

    aku masih bingung neh soal itu…

    @brengsekerz
    Ok, ntar kalo aku dah agak nganggur yah 😀

  15. tonywidiyanto Says:

    ughh… ga ngerti… yang aku tahu file JAR cuman buat aplikasinya hp sony ericsson, dan JAD buat Nokia

    tapi bagus juga artikelmu. nice dude

  16. aie Says:

    tmpilin dunks list programny…
    heheee

  17. rey Says:

    Maz mo nanya ne…
    Kalo buat jar ato jad untuk j2ME gimana ya…
    tapisecara manual
    gak pake netbeans atau WTK

    tolong ya mash newbie banget

  18. utsop Says:

    wow….impresif perfect……makasih ma buat postingannya,soalnya sy juga lg pusing kenapa file jar yg sy buat error trus,ternyata itu sebabnya ya….thanks ya…..:-).I Love u Pool (ha ha ha ).

  19. Rudy Says:

    Infox mantap..
    Kalau untk sis or sisx gmana Mas ?

  20. aquang6 Says:

    thx,sry gaptek ga skul jadi tau

  21. siska Says:

    wah selama ini sy build jar make bantuan IDE.. , sekarang jauh lebih mudah..tanks..ya

  22. bautinja Says:

    makasih udh menambah wawasan


Leave a comment