நீங்கள் எழுதும் குறியீட்டை JVM நேரடியாக இயக்க முடியாது. பைட்கோடில் எழுதப்பட்ட நிரல்களை எவ்வாறு இயக்குவது என்பது மட்டுமே இதற்குத் தெரியும். பைட்கோட் என்பது இயந்திரக் குறியீட்டிற்கு நெருக்கமான ஒரு குறைந்த-நிலை மொழியாகும்.

ஜாவாவைப் பொறுத்தவரை, தொகுத்தல் என்பது ஜாவாவில் எழுதப்பட்ட (உயர்நிலை) நிரலை பைட்கோடில் எழுதப்பட்ட அதே நிரலுக்கு மொழிபெயர்ப்பதாகும்.

உங்கள் குறியீடு .java கோப்பில் கம்பைலருக்கு அனுப்பப்பட்டது. கம்பைலர் குறியீட்டில் பிழைகள் எதுவும் இல்லை எனில், நீங்கள் புதிய பைட்கோட் கோப்பைத் திரும்பப் பெறுவீர்கள். இந்தக் கோப்பு அதே பெயரைக் கொண்டிருக்கும் ஆனால் வேறு நீட்டிப்பு: .class . குறியீட்டில் பிழைகள் இருந்தால், கம்பைலர் உங்களுக்கு "நிரல் தொகுக்கவில்லை" என்று சொல்லும். பின்னர் நீங்கள் ஒவ்வொரு பிழை செய்தியையும் படித்து பிழைகளை சரிசெய்ய வேண்டும்.

JDK (ஜாவா டெவலப்மென்ட் கிட்) இன் ஒரு பகுதியாக இருக்கும் கம்பைலரை செயல்படுத்த நீங்கள் javac கட்டளையைப் பயன்படுத்துகிறீர்கள். அதாவது JRE (Java Runtime Environment) ஐ மட்டும் நிறுவினால், கம்பைலர் உங்களிடம் இருக்காது! உங்களிடம் JVM மட்டுமே இருக்கும், இது பைட்கோடை மட்டுமே இயக்க முடியும். எனவே நாம் JDK ஐ நிறுவி, எங்கள் .java கோப்பை கம்பைலருக்கு அனுப்புகிறோம்.

எடுத்துக்காட்டாக, சில கன்சோல் வெளியீட்டைக் கொண்ட எளிய நிரலை எடுத்துக் கொள்வோம்:


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

இந்தக் குறியீட்டை D:/temp/MySolution.java கோப்பில் சேமிப்போம் .

கட்டளையைப் பயன்படுத்தி நமது குறியீட்டை தொகுக்கலாம்


D:\temp>javac MySolution.java

குறியீட்டில் தொகுத்தல் பிழைகள் இல்லை என்றால், தற்காலிக கோப்புறையில் MySolution.class கோப்பு தோன்றும் . மேலும் என்னவென்றால், உங்கள் குறியீட்டைக் கொண்ட MySolution.java கோப்பு எங்கும் செல்லாது. அது இருந்த இடத்திலேயே உள்ளது. ஆனால் இப்போது MySolution.class ஆனது பைட்கோடு மற்றும் JVM ஆல் நேரடியாக இயக்க தயாராக உள்ளது.

எங்கள் உதாரணம் முடிந்தவரை எளிமையானது, ஆனால் மிகப்பெரிய மற்றும் மிகவும் சிக்கலான திட்டங்கள் கூட javac கட்டளையைப் பயன்படுத்துகின்றன. எனவே இது எவ்வாறு செயல்படுகிறது என்பதை நீங்கள் அறிந்து கொள்வது மிகவும் பயனுள்ளதாக இருக்கும்.

நீங்கள் ஒரு நேரத்தில் ஒன்றுக்கு மேற்பட்ட வகுப்புகளை தொகுக்கலாம். எடுத்துக்காட்டாக, தற்காலிக கோப்புறையில் Cat.java என்ற மற்றொரு கோப்பு இருப்பதாக வைத்துக்கொள்வோம் :


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

அல்லது இது:


D:\temp>javac *.java

தொகுக்கப்பட்டவுடன், .class கோப்புகளை ஒரு ஜார் கோப்பில் தொகுக்கலாம் , அதை வசதியாக வெவ்வேறு கணினிகளுக்கு நகர்த்தலாம், பின்னர் அவற்றை இயக்கலாம். ஜார் கோப்பை எவ்வாறு உருவாக்குவது என்பதற்கான எடுத்துக்காட்டு இங்கே :


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

எங்கே:

  • jar என்பது JDK இல் சேர்க்கப்பட்டுள்ள .jar கோப்புகளை உருவாக்குவதற்கான கட்டளையாகும்

  • cvfe என்பது பின்வரும் அர்த்தங்களைக் கொண்ட கட்டளை வரி விருப்பங்கள்:

    • c - புதிய ஜார் கோப்பை உருவாக்கவும்

    • v - வாய்மொழி தகவலைக் காண்பி

    • f – கருவியின் வெளியீடு ஒரு கோப்பில் வைக்கப்பட வேண்டும் என்பதைக் குறிக்கிறது ( myjar.jar )

    • e – நுழைவுப் புள்ளியைக் குறிக்கிறது ( MySolution ), அதாவது முக்கிய முறையைக் கொண்டிருக்கும் வர்க்கம்

  • MySolution.java Cat.class – ஜார் கோப்பில் நிரம்பிய கோப்புகளின் இடம் பிரிக்கப்பட்ட பெயர்கள் .

இதன் விளைவாக வரும் ஜார் கோப்பை எவ்வாறு இயக்குகிறோம் என்பது இங்கே :


D:\temp>java -jar myjar.jar
மேலும் விரிவான தகவலுக்கு:
ஜாவாக் மற்றும் ஜார் கருவிகள் உள்ளமைந்த உதவியைக் கொண்டுள்ளன . அதைக் காட்ட, கட்டளை வரியில் பின்வருவனவற்றை இயக்கவும்:
  • javac --உதவி
  • ஜாடி --உதவி