কম্পিউটার টিউটোরিয়াল

জাভা ৯-এ মাল্টি-ভার্সন কম্প্যাটিবল JAR ব্যবহারের পদ্ধতি

মাল্টি-ভার্সন কম্প্যাটিবল JAR ফাংশন আমাদের একটি ক্লাসের ভার্সন তৈরি করতে দেয় যা আমরা শুধু তখন ব্যবহার করতে চাই যখন লাইব্রেরি প্রোগ্রাম একটি স্পেসিফিক জাভা এনভায়রনমেন্ট ভার্সনে রান হয়। আমরা কম্পাইল্ড ভার্সন "--release" প্যারামিটার দিয়ে সপেসিফাই করতে পারি।

একটি স্পেসিফিক পরিবর্তন হলো "MANIFEST.MF" ফাইল "META-INF" ডিরেক্টরিতে একটি নতুন অ্যাট্রিবিউট হিসেবে থাকে:

Multi-Release: true

META-INF ডিরেক্টরির অধীনে একটি নতুন ভার্সন ডিরেক্টরি থাকে। যদি আমরা জাভা ৯ ভার্সন সাপোর্ট করতে চাই, তবে versions ডিরেক্টরির অধীনে একটি ৯ ডিরেক্টরি থাকে।

multirelease.jar
├── META-INF
│   └── versions
│       └── 9
│           └── multirelease
│               └── Helper.class
├── multirelease
    ├── Helper.class
    └── Main.class

নিচের উদাহরণে, আমরা "Test.java" ফাইল থেকে একটি মাল্টি-ভার্সন কম্প্যাটিবল JAR ফাংশন ব্যবহার করে জার প্যাকেজের দুটি ভার্সন জেনারেট করতে পারি। একটি ভার্সন jdk 7, আরেকটি jdk 9, তারপর আমরা এগুলো ভিন্ন এনভায়রনমেন্টে এক্সিকিউট করি।

প্রথম ধাপ: একটি ফোল্ডার তৈরি করুন C:/test/java7/com/tutorialspoint, এবং এই ফোল্ডারে একটি "Test.java" ফাইল তৈরি করুন নিচের মতো:

package com.tutorialspoint;
public class Test {
    public static void main(String args[]) {
        System.out.println("Inside Java 7");
    }
}

দ্বিতীয় ধাপ: একটি ফোল্ডার তৈরি করুন C:/test/java9/com/tutorialspoint, এবং এই ফোল্ডারে একটি "Test.java" ফাইল তৈরি করুন নিচের মতো:

package com.tutorialspoint;
public class Test {
    public static void main(String args[]) {
        System.out.println("Inside Java 9");
    }
}

আমরা কোড কম্পাইল করতে পারি নিচের মতো:

C:\test> javac --release 9 java9/com/tutorialspoint/Test.java
C:\test> javac --release 7 java7/com/tutorialspoint/Test.java

আমরা একটি মাল্টি-ভার্সন কম্প্যাটিবল jar প্যাকেজ তৈরি করতে পারি নিচের মতো:

C:\JAVA> jar -c -f test.jar -C java7 . --release 9 -C java9
Warning: entry META-INF/versions/9/com/tutorialspoint/Test.java, multiple resources with same name

JDK 7 দিয়ে এক্সিকিউট করুন:

C:\JAVA> java -cp test.jar com.tutorialspoint.Test
Inside Java 7

JDK 9 দিয়ে এক্সিকিউট করুন:

C:\JAVA> java -cp test.jar com.tutorialspoint.Test
Inside Java 9
  1. জাভাতে অবজেক্ট ক্লোনিংয়ের ব্যবহার

  2. জাভাতে StrictMath ক্লাসের ব্যবহার

  3. জাভাতে Font এবং FontMetrics-এর মধ্যে পার্থক্য কী?

  4. জাভাতে setBounds() মেথডের ব্যবহার কী?