
Java শেখা শুরু করতে গিয়ে অনেকেই প্রথম ধাপেই আটকে যান। ভিডিও দেখে JDK নামালেন, ইনস্টল করলেন, কিন্তু Command Prompt এ javac লিখতেই লেখা আসে javac is not recognized as an internal or external command. ফলে এক লাইন কোড লেখার আগেই শেখার উৎসাহটা নষ্ট হয়ে যায়।
আসল কারণটা কঠিন কিছু নয়। Windows জানে না আপনার JDK কোন ফোল্ডারে বসেছে, তাই তাকে JAVA_HOME ও Path এর মাধ্যমে সেই ঠিকানা দেখিয়ে দিতে হয়। এই টিউনে একদম শূন্য থেকে শুরু করে JDK ইনস্টল করা, JAVA_HOME সেট করা, Path আপডেট করা, ইনস্টলেশন যাচাই করা এবং প্রথম Java প্রোগ্রাম কম্পাইল করে রান করা পর্যন্ত প্রতিটি ধাপ দেখাব। শেষে কমন এরর গুলোর সমাধানও থাকবে, যাতে কোথাও আটকে না যান।

উপরের চিত্রটিতে পুরো কাজটি এক নজরে সাজিয়ে দেওয়া হয়েছে। কোন ধাপের পর কোনটি আসবে সেটি আগেই মাথায় গেঁথে নিলে মাঝপথে আর দিশা হারাবেন না। একটি বিষয় খেয়াল করুন, আসল ইনস্টলেশনের কাজ কিন্তু মাত্র দুটি ধাপ। বাকি চারটি ধাপের পুরো উদ্দেশ্য হলো উইন্ডোজকে জানিয়ে দেওয়া যে জাভা ঠিক কোন ফোল্ডারে বসেছে, আর তারপর সেটি সত্যিই কাজ করছে কিনা তা নিজের চোখে যাচাই করে নেওয়া।
নতুন যারা শিখতে শুরু করেন তাদের বেশির ভাগই তৃতীয় আর চতুর্থ ধাপটি বাদ দিয়ে সোজা কোড লিখতে বসে যান। ফল হয় এই, ইনস্টলেশন ঠিকঠাক হওয়ার পরও টার্মিনাল জাভার কমান্ড গুলো চিনতে পারে না এবং এরর দেখায়। তাই চিত্রটি একবার ভালো করে দেখে নিয়ে তারপর নিচের ধাপ গুলোতে হাত দিন, তাহলে কোথায় কী করছেন সেটি সব সময় পরিষ্কার থাকবে।
চিত্রের ধাপ গুলো ধরে ধরে এগোলে আরেকটি সুবিধা পাবেন। কোনো ধাপে আটকে গেলে আপনি ঠিক বলতে পারবেন সমস্যাটি কোন জায়গায় হচ্ছে, ফলে সমাধান খুঁজতে গিয়ে পুরো কাজ আবার শুরু থেকে করার দরকার পড়বে না।
Java দিয়ে প্রোগ্রাম লিখতে JRE নয়, দরকার হয় JDK অর্থাৎ Java Development Kit. JRE শুধু Java প্রোগ্রাম চালাতে পারে, কিন্তু কোড কম্পাইল করার javac টুলটি থাকে শুধু JDK এর ভেতরে।
নতুন শিখতে শুরু করলে LTS অর্থাৎ Long Term Support ভার্সন বেছে নিন। LTS ভার্সন গুলো দীর্ঘদিন আপডেট পায় এবং প্রায় সব টিউটোরিয়াল ও লাইব্রেরির সাথে মিলে যায়।
ডাউনলোড শেষ হলে ইনস্টলার ফাইলটিতে ডান বাটন ক্লিক করে Run as administrator দিন। এরপর নিচের ধাপ গুলো অনুসরণ করুন।
এই পাথটিই পরের ধাপে JAVA_HOME এর মান হিসেবে লাগবে, তাই ভুল না করে হুবহু কপি করে রাখুন।
JAVA_HOME হচ্ছে একটি এনভায়রনমেন্ট ভ্যারিয়েবল, যেটি Windows ও অন্য সফটওয়্যারকে জানিয়ে দেয় JDK ঠিক কোথায় আছে। পরে Maven, Gradle, Android Studio, Tomcat এর মত টুল গুলোও এই ভ্যারিয়েবল খোঁজে, তাই এটি সেট করা জরুরি।

উপরের ব্যাখ্যাচিত্রে দেখানো হয়েছে উইন্ডোজের এনভায়রনমেন্ট ভ্যারিয়েবলের উইন্ডোটিতে কোন অংশে কী কাজ হয়। একটি ভুল এখানে প্রায় সবাই করেন, উপরের আর নিচের তালিকা দুটিকে এক করে ফেলেন। উপরের তালিকাটি শুধু আপনার নিজের ইউজার অ্যাকাউন্টের জন্য কাজ করে, আর নিচের তালিকাটি কম্পিউটারের সব ইউজারের জন্য কাজ করে। জাভার ভ্যারিয়েবল দুটি নিচের তালিকায় বসালে পরে অন্য কোনো টুল বা এডিটর সেটি খুঁজে নিতে পারবে।
আরেকটি বিষয় মনে রাখা দরকার, JAVA_HOME এর মান হিসেবে শুধু জেডিকে ফোল্ডারটির পাথ বসবে, শেষে bin অংশটি যোগ করা যাবে না। bin অংশটি আলাদা করে Path তালিকায় বসাতে হয় এবং সেখানে পুরো পাথ আবার না লিখে শুধু ভ্যারিয়েবলটিকে ডেকে আনলেই কাজ চলে। এভাবে লিখলে ভবিষ্যতে জাভার ভার্সন বদলালে শুধু একটি জায়গার মান বদলে দিলেই পুরো সেটআপ আবার ঠিক হয়ে যাবে। যারা একাধিক প্রজেক্টে আলাদা আলাদা ভার্সন ব্যবহার করেন তাদের জন্য এই নিয়মটি আরও বেশি কাজে দেয়, কারণ তখন ভার্সন বদলানো এক মিনিটের কাজ হয়ে যায়।
Command Prompt যেকোনো ফোল্ডার থেকে java ও javac কমান্ড চিনতে পারে শুধু তখনই, যখন JDK এর bin ফোল্ডারটি Path ভ্যারিয়েবলে থাকে।
মনে রাখবেন, Path পরিবর্তনের পর আগে থেকে খোলা থাকা Command Prompt পুরনো সেটিংস মনে রাখে। তাই খোলা থাকা সব Command Prompt বন্ধ করে নতুন করে খুলুন।
নতুন একটি Command Prompt খুলে নিচের দুটি কমান্ড আলাদা আলাদা ভাবে চালান।
java -version javac -version
দুটি কমান্ডেই যদি ভার্সন নম্বর দেখায়, তাহলে আপনার সেটআপ সফল। শুধু java কাজ করলে কিন্তু javac কাজ না করলে বুঝবেন আপনি JDK এর বদলে শুধু JRE ইনস্টল করেছেন, অথবা Path এ bin ফোল্ডারটি ভুল ভাবে বসেছে।

উপরের চিত্রটিতে সঠিক আউটপুট আর ভুল সেটআপের এররটি পাশাপাশি রাখা হয়েছে, যাতে নিজের পর্দায় কোনটি দেখছেন তা সাথে সাথে মিলিয়ে নিতে পারেন। উপরের অংশে দুটি কমান্ডই ভার্সন নম্বর দেখাচ্ছে, অর্থাৎ সেখানে সব ঠিক আছে। তৃতীয় কমান্ডটি বেশ কাজের, এটি সরাসরি দেখিয়ে দেয় আপনার তৈরি করা ভ্যারিয়েবলের ভেতরে আসলে কোন পাথটি জমা হয়েছে।
নিচের অংশে যে লাল লেখাটি দেখছেন সেটি আসলে জাভার কোনো সমস্যা নয়, এটি উইন্ডোজের বার্তা। এর মানে দাঁড়ায়, কমান্ডটি যে ফোল্ডারে আছে সেই ফোল্ডারের ঠিকানা Path তালিকায় নেই। তাই এই এররটি দেখলে জাভা আবার নামানোর দরকার নেই, বরং আগের ধাপে ফিরে গিয়ে Path তালিকার লাইনটি ঠিক আছে কিনা আর নতুন করে টার্মিনাল খুলেছেন কিনা সেই দুটি বিষয় মিলিয়ে দেখুন।
সব ঠিক থাকলে এবার নিশ্চিন্তে পরের ধাপে যেতে পারেন। তবে একটি অভ্যাস গড়ে তুলুন, বড় কোনো সেটআপ বদলানোর পর প্রতিবার এই যাচাইয়ের কমান্ড গুলো একবার চালিয়ে নিন। এতে সমস্যা থাকলে সেটি অনেক আগেই ধরা পড়বে এবং পরে কোড লিখতে বসে অকারণে সময় নষ্ট হবে না।
এখন কোড লেখার পালা। প্রথম প্রোগ্রামের জন্য ভারী কোনো IDE দরকার নেই, Notepad দিয়েই শুরু করা যায়। এতে ভেতরে আসলে কী ঘটছে তা পরিষ্কার বোঝা যায়।
public class HelloTechtunes {
public static void main(String[] args) {
String tuner = "টেকটিউনার";
System.out.println("Hello Java, আমার প্রথম প্রোগ্রাম চলছে");
System.out.println("শুভেচ্ছা, " + tuner);
}
}
কোডটিতে ক্লাসের নাম HelloTechtunes এবং ফাইলের নাম HelloTechtunes.java, এই দুটি হুবহু এক হতে হয়। Java তে ছোট হাতের ও বড় হাতের অক্ষর আলাদা, তাই একটি অক্ষরের গরমিলেও কম্পাইল হবে না।
এবার Command Prompt এ ফোল্ডারটিতে গিয়ে কোড কম্পাইল করে রান করুন।
cd C:\JavaPractice javac HelloTechtunes.java java HelloTechtunes
কম্পাইল সফল হলে ফোল্ডারে HelloTechtunes.class নামে একটি নতুন ফাইল তৈরি হবে। এটি হচ্ছে Bytecode, যেটি JVM পড়ে প্রোগ্রামটি চালায়। শেষ কমান্ডটি দিলে স্ক্রিনে আপনার লেখা দুটি লাইন দেখতে পাবেন।
লক্ষ করুন, রান করার সময় java HelloTechtunes লিখতে হয়, java HelloTechtunes.class লিখতে হয় না।
এখানে আরেকটি কথা যোগ করা দরকার। উপরের ছবি গুলো নিজের কম্পিউটারের পর্দার সাথে মিলিয়ে দেখতে দেখতে এগোলে কাজটি অনেক সহজ হয়ে যায়, কারণ তখন কোন বাক্সে কী লিখতে হবে সেটি নিয়ে আর দ্বিধা থাকে না। শুরুতে একটু সময় বেশি লাগলেও একবার সেটআপটি ঠিকভাবে হয়ে গেলে সেটি বছরের পর বছর কাজ করে যাবে, আর প্রতিবার নতুন প্রজেক্ট শুরু করার সময় এই ঝামেলায় ফিরে আসতে হবে না।
এই এররটি আসে যখন Path এ JDK এর bin ফোল্ডার ঠিক ভাবে যোগ হয়নি। JAVA_HOME এর মান আবার মিলিয়ে দেখুন এবং নিশ্চিত হোন যে Path এ %JAVA_HOME%\bin এন্ট্রিটি আছে। এরপর Command Prompt বন্ধ করে নতুন করে খুলুন।
সাধারণত ফাইলের নাম ও ক্লাসের নাম আলাদা হলে, অথবা ভুল ফোল্ডারে থেকে কমান্ড চালালে এই এররটি আসে। dir কমান্ড দিয়ে দেখে নিন আপনি ঠিক ওই ফোল্ডারেই আছেন যেখানে class ফাইলটি তৈরি হয়েছে।
কম্পিউটারে একাধিক Java ভার্সন থাকলে এমন হয়। javac এক ভার্সনের আর java আরেক ভার্সনের হলে এই সমস্যা দেখা দেয়। java -version ও javac -version এর আউটপুট মিলিয়ে দেখুন, না মিললে পুরনো ভার্সনটি Path থেকে সরিয়ে দিন।
Notepad এ সেভ করার সময় All Files নির্বাচন না করলে এটি ঘটে। ফোল্ডারের View অপশন থেকে File name extensions চালু করে ফাইলের আসল নাম দেখে নিন ও ঠিক করুন।
এই ছয়টি ধাপ ঠিক ভাবে শেষ করার মানে হচ্ছে, আপনার কম্পিউটার এখন Java কোড কম্পাইল ও রান করার জন্য পুরোপুরি প্রস্তুত। শুরুতে এই সেটআপটি ঠিক ভাবে করে নিলে সামনে IDE, Maven বা Spring Boot নিয়ে কাজ করার সময় অনেক ঝামেলা এমনিতেই এড়ানো যায়।
আপনার সেটআপ করতে গিয়ে কোন ধাপে সমস্যা হয়েছে বা কোন এররটি দেখেছেন, টিউমেন্টে জানান। আমি ধরে ধরে সমাধান বলে দেওয়ার চেষ্টা করব।
আমি নাছিরুল হক। বিশ্বের সর্ববৃহৎ বিজ্ঞান ও প্রযুক্তির সৌশল নেটওয়ার্ক - টেকটিউনস এ আমি 1 সপ্তাহ 5 দিন যাবৎ যুক্ত আছি। টেকটিউনস আমি এ পর্যন্ত 24 টি টিউন ও 3 টি টিউমেন্ট করেছি। টেকটিউনসে আমার 0 ফলোয়ার আছে এবং আমি টেকটিউনসে 2 টিউনারকে ফলো করি।
আমি নাছিরুল হক। প্রোগ্রামিং আর প্রযুক্তি নিয়ে ঘাঁটাঘাঁটি করতে ভালোবাসি। টেকটিউনসে মূলত Java প্রোগ্রামিং নিয়ে ধাপে ধাপে হাতে কলমে টিউটোরিয়াল লিখি — JDK ইনস্টল ও এনভায়রনমেন্ট সেটআপ থেকে শুরু করে IntelliJ IDEA, Exception Handling, OOP, Java Swing ও ফাইল হ্যান্ডলিং পর্যন্ত। এছাড়া স্মার্টফোন, ব্যাটারি ও নেটওয়ার্ক নিয়ে সহজ ভাষায় ব্যাখ্যামূলক...