JVM ora bisa langsung mbukak kode sing sampeyan tulis. Iku mung ngerti carane nglakokaké program ditulis ing bytecode. Bytecode minangka basa tingkat rendah sing cedhak karo kode mesin.

Kanggo Jawa, kompilasi minangka terjemahan saka program (tingkat dhuwur) sing ditulis ing basa Jawa menyang program sing padha ditulis ing bytecode.

Kode sampeyan liwati ing file .java menyang compiler. Yen kompiler ora nemokake kesalahan ing kode kasebut, sampeyan bakal entuk file bytecode anyar. Berkas iki bakal duwe jeneng sing padha nanging ekstensi beda: .class . Yen ana kesalahan ing kode, compiler bakal menehi pitutur marang kowe "program ora kompilasi". Banjur sampeyan kudu maca saben pesen kesalahan lan ndandani kesalahane.

Sampeyan nggunakake printah javac kanggo invoke compiler, kang bagéan saka JDK (Jawa Development Kit). Tegese yen sampeyan mung nginstal JRE (Java Runtime Environment), sampeyan ora bakal duwe kompiler! Sampeyan mung bakal duwe JVM, sing mung bisa mbukak bytecode. Supaya kita nginstal JDK lan pass file .java kita kanggo compiler.

Contone, ayo njupuk program prasaja kanthi sawetara output konsol:


class MySolution {
   public static void main(String[] args) {
      System.out.println("Hi, command line!");
   }
}

Ayo nyimpen kode iki menyang file D:/temp/MySolution.java .

Ayo kita ngumpulake kode nggunakake printah


D:\temp>javac MySolution.java

Yen ora ana kesalahan kompilasi ing kode, file MySolution.class bakal katon ing folder temp . Apa maneh, file MySolution.java sing ngemot kode sampeyan ora ana ing ngendi wae. Iku tetep tengen ngendi iku. Nanging saiki MySolution.class ngandhut bytecode lan siap kanggo mbukak langsung dening JVM.

Conto kita minangka prasaja, nanging malah proyek paling gedhe lan paling rumit nggunakake perintah javac . Dadi bakal migunani banget kanggo sampeyan ngerti cara kerjane.

Sampeyan bisa ngumpulake luwih saka siji kelas sekaligus. Contone, umpamane ana file liyane Cat.java ing folder temp :


D:\temp>javac MySolution.java Cat.java

utawa iki:


D:\temp>javac *.java

Sawise nyawiji, file .class bisa dikemas ing file jar , sing bisa gampang dipindhah menyang komputer sing beda-beda lan banjur mbukak. Mangkene conto carane nggawe file jar :


D:\temp>jar cvfe myjar.jar MySolution MySolution.class Cat.class

ngendi:

  • jar iku printah kanggo nggawe file .jar , klebu ing JDK

  • cvfe minangka pilihan baris perintah kanthi makna ing ngisor iki:

    • c - nggawe file jar anyar

    • v - nampilake informasi verbose

    • f – nuduhake yen kita pengin output alat dilebokake menyang file ( myjar.jar )

    • e – nuduhake titik entri ( MySolution ), yaiku kelas sing ngemot metode utama

  • MySolution.java Cat.class – jeneng spasi-kapisah saka file sing bakal dikempalken menyang file jar .

Mangkene carane mbukak file jar sing diasilake :


D:\temp>java -jar myjar.jar
Kanggo informasi luwih rinci:
Piranti javac lan jar duwe bantuan sing dibangun . Kanggo nampilake, jalanake ing ngisor iki ing baris perintah:
  • javac --help
  • jar --help