A মডিউল ৷ উভয় কোড এর সংমিশ্রণ এবং ডেটা যেটির একটি নাম আছে, অন্যান্য মডিউলের উপর নির্ভরতা ঘোষণা করে, প্যাকেজ রপ্তানি করে যা এই মডিউলের বাইরে অ্যাক্সেসযোগ্য পাবলিক ধরনের ধারণ করে এবং এটি যে পরিষেবাগুলি ব্যবহার করে বা এটি যে পরিষেবা বাস্তবায়ন করে তা নির্দিষ্ট করে৷ এই সব একটি module-info.java-এ নির্দিষ্ট করা আছে ফাইল, যা একটি মডিউলের রুট ডিরেক্টরিতে অন্তর্ভুক্ত।
দুই ধরনের "রপ্তানি আছে৷ " ক্লজ "module-info.java-এ ব্যবহার করা যেতে পারে " ফাইল৷
৷1) রপ্তানি <প্যাকেজ>: ডিফল্টরূপে, সর্বজনীন প্রকার একটি মডিউল মডিউলের বাইরে আর দৃশ্যমান নয়। একটি প্রদত্ত প্যাকেজের সর্বজনীন প্রকারগুলিকে অন্যান্য মডিউল থেকে দৃশ্যমান করতে, আমাদের অবশ্যই রপ্তানি করতে হবে এই প্যাকেজ। আমাদের অবশ্যই মনে রাখতে হবে যে আমরা প্যাকেজ স্তরে আছি এবং কোনও ধরণের ইউনিট স্তরে নয়। কিন্তু, সাব-প্যাকেজ রপ্তানি করা হয় না।
আমাদের প্যাকেজের ক্লাস এবং ইন্টারফেস tp.com.tutorialspoint.model ব্যবহার করার জন্য অন্যান্য মডিউলগুলিকে অনুমতি দিতে হবে , আমরা নীচে লিখতে পারি:
module com.tutorialspoint.model { exports tp.com.tutorialspoint.model; }
এটা বোঝা খুবই গুরুত্বপূর্ণ যে একটি প্যাকেজ শুধুমাত্র একটি মডিউলে উপস্থিত থাকতে পারে৷ অন্যথায়, আমরা নিচের মতো একটি ত্রুটি পাব:
Error:(1, 1) java: package exists in another module:
2) <মডিউল> এ <প্যাকেজ> রপ্তানি করুন: আমরা নির্দিষ্ট প্যাকেজগুলির দৃশ্যমানতা হ্রাস করে মডিউলগুলির একটি সীমিত তালিকার মাধ্যমে আমাদের মডিউলগুলির নিরাপত্তা জোরদার করতে পারি:শুধুমাত্র তালিকাভুক্ত মডিউলগুলি এই ক্লাসগুলি অ্যাক্সেস করতে সক্ষম হবে৷
module com.tutorialspoint.model { exports tp.com.tutorialspoint.model to com.tutorialspoint.gui; }