জেলিংক (JLink) হলো একটি নতুন লিংকার টুল যা ব্যবহার করে নিজস্ব কাস্টমাইজড জিআরই (JRE) তৈরি করা যায়। সাধারণত আমরা অরাকলের প্রদত্ত ডিফল্ট জিআরই ব্যবহার করে প্রোগ্রাম রান করি। কিন্তু যদি অ্যাপ্লিকেশন চালানোর জন্য শুধু প্রয়োজনীয় ক্লাসগুলো নিয়ে নিজস্ব জিআরই বানাতে চাই, তবে জেলিংক ব্যবহার করতে হয়। এটি এপিআইর সাইজ কমানো এবং পূর্ণ জিআরই-র উপর নির্ভরতা কমাতে সাহায্য করে।
জাভা ৯-এ লিংক টাইম
জাভা ৯-এ কম্পাইল টাইম ও রানটাইমের মাঝপথে একটি নতুন ফেজ যোগ হয়েছে যাকে লিংক টাইম বলা হয়। এটি কম্পাইল টাইম ও রানটাইমের মাঝপথে একটি অপশনাল ফেজ।
কাস্টম জিআরই তৈরির কমান্ড
jlink --module-path --add-modules --limit-modules --output
- module-path: লিংকার যেন পর্যবেক্ষণযোগ্য মডিউলগুলো খুঁজে পায় সেই পাথ। এতে মডুলার জার ফাইল, জেমড (JMOD) ফাইল এবং মডিউল থাকে।
- add-modules: রান-টাইম ইমেজে যোগ করা মডিউলগুলোর নাম। ট্রানজিটিভ ডিপেন্ডেন্সি যেনে আরও মডিউল যোগ হতে পারে।
- limit-modules: পর্যবেক্ষণযোগ্য মডিউলগুলোর পরিসীমা নির্ধারণ করে।
- output: ফলাফলস্বরূপ তৈরি রান-টাইম ইমেজ থাকবে এমন ডিরেক্টরি।
উদাহরণ কমান্ড
jlink --module-path $JAVA_HOME/jmods:mlib --add-modules com.greetings --output greetingsapp
উপরের কমান্ডে module-path-এর ভ্যালু হলো প্যাকেজড মডিউলवाले ডিরেক্টরির পাথ। JAVA_HOME/jmods হলো java.base.jmod, অন্যান্য স্ট্যান্ডার্ড এবং জেডিকে মডিউলগুলোর ডিরেক্টরি। mlib ডিরেক্টরি মডিউল পাথে আছে যেটিতে com.greetings মডিউলের আর্টিফ্যাক্ট রয়েছে।