"Javac is not recognized as an internal or external command" হল একটি এরর যা প্রায়ই লোকেরা Windows-এ Command Prompt ব্যবহার করে Java প্রোগ্রাম কম্পাইল করার সময় মুখোমুখি হন। এটি তখনও দেখা যেতে পারে যখন ব্যবহারকারীরা প্রাইমারি Java কম্পাইলারের বর্তমান ভার্সন চেক করার চেষ্টা করেন।

JavaC কী?
Javac (উচ্চারণ "java-see"), হল JDK (Java Development Kit)-এ অন্তর্ভুক্ত প্রধান Java কম্পাইলার যা Oracle Corporation দ্বারা ডেভেলপ করা হয়েছে। কম্পাইলারটি Java Language Specifications (JLS)-এর সাথে সামঞ্জস্যপূর্ণ সোর্স কোড গ্রহণ করার জন্য ডিজাইন করা হয়েছে এবং এটিকে JVMs (Java Virtual Machine Specification)-এর অনুযায়ী Java bytecode-এ রূপান্তর করে।
Javac is not recognized error-এর কারণ কী
"Javac is not recognized as an internal or external command" এররটি দেখা যায় যখন Command Prompt Java PATH ভেরিয়েবল খুঁজে পায় না। এটি দুটি কারণে হতে পারে:
- Java Development Kit (JDK) মেশিনে অনুপস্থিত – এটি সাধারণত তখন হয় যখন ব্যবহারকারী ভুলভাবে অনুমান করেন যে Java Compiler (javac) Java Runtime Environment-এর সাথে ইনস্টল হয়ে আসে।
- Javac-এর পাথ সেট করা নেই বা ভুল সেট করা হয়েছে – Command Prompt-এ কম্পাইল করার জন্য এবং অন্যান্য অ্যাপ সার্ভার টুলগুলো সঠিকভাবে কাজ করার জন্য, সিস্টেমকে Javac-এর লোকেশন সম্পর্কে জানতে হবে। যদি এই ক্ষেত্রে হয়, তবে আপনাকে ম্যানুয়ালি পাথ সেট করতে হবে।
স্টেপ ১: Java Development Kit (JDK) ইনস্টল করা
এই এরর হওয়ার একটি প্রধান কারণ হল যারা Java শিখতে শুরু করছেন তারা Java Runtime Environment (JRE)-কে Java Development Kit (JDK)-এর সাথে গুলিয়ে দেয়।
JRE হল JDK-এর একটি অংশ, কিন্তু অধিকাংশ সময় এটি আলাদাভাবে ডাউনলোড করা হয়। অনেক প্রোগ্রাম যা Java Runtime ব্যবহার করে সেটি তাদের ইনস্টলেশন প্যাকেজে অন্তর্ভুক্ত করে।
যেহেতু Java Development Kit (JDK) প্রয়োজন হয় খুব কম কারণ থেকে যদি আপনি Java Development-এ আগ্রহী না হন, আপনি ভাবতে পারেন যে Javac ইতিমধ্যে JRE-দ্বারা ইনস্টল হয়ে গেছে, কিন্তু সত্যি হল আপনাকে পুরো Java Development Kit ইনস্টল করতে হবে।
আপনি যদি মনে করেন এই পরিস্থিতি আপনার অবস্থার সাথে প্রাসঙ্গিক, তবে "javac is not recognized" এরর সমাধানের জন্য Java Development Kit (JDK) ইনস্টল করার কুইক গাইড এখানে দেওয়া হল:
- এই লিংকে যান (এখানে) এবং Java Platform (JDK)-এর উপরের Download আইকনে ক্লিক করুন। এটি নিশ্চিত করবে যে আপনি Java Development Kit-এর লেটেস্ট উপলব্ধ ভার্সন ইনস্টল করছেন।

- পরবর্তী স্ক্রিনে, Java SE Development Kit-এ নিচে স্ক্রোল করুন এবং নিশ্চিত করুন যে আপনি Accept Licence agreement-এর সাথে যুক্ত টগল সিলেক্ট করেছেন। তারপর Windows-এর সাথে যুক্ত ডাউনলোড লিংকে ক্লিক করুন। দুটি অপশন আছে, কিন্তু আমরা .exe ফাইল ডাউনলোড করার পরামর্শ দিই কারণ ডাউনলোড কম্প্লিট হলে কন্টেন্ট এক্সট্রাক্ট করার ঝামেলা থেকে বাঁচাবে।

- ডাউনলোড কম্প্লিট হলে, JDK ইনস্টলেশন এক্সিকিউটেবল খুলুন এবং অন-স্ক্রিন প্রম্পট অনুসরণ করে ইনস্টলেশন কম্প্লিট করুন।

- পরবর্তী স্ক্রিনে, নিশ্চিত করুন যে Development Tools এবং Source Code দুটোই আপনার লোকাল হার্ড ড্রাইভে সাবফিচারসহ ইনস্টল করার জন্য সেট করা আছে। এই পাশাপাশি, যদি সম্ভব হয়, ডিফল্ট ইনস্টলেশন পাথ সংরক্ষণ করার চেষ্টা করুন কারণ স্টেপ ২ সহজ হবে।

নোট: একটি অতিরিক্ত পরামর্শ হিসেবে, Install to-এর অধীনে ইনস্টলেশন পাথ নোট করুন, কারণ এটি স্টেপ ২-এ প্রয়োজন হবে।
- Java Development Kit ইনস্টল হওয়ার জন্য অপেক্ষা করুন। প্রসেস কম্প্লিট হলে, আপনি যদি অটোমেটিক্যালি রিস্টার্টের জন্য প্রম্পট না পান, তবে ম্যানুয়ালি আপনার কম্পিউটার রিস্টার্ট করুন।

এখন যেহেতু আপনি নিশ্চিত করেছেন যে আপনি সঠিক প্যাকেজ ইনস্টল করেছেন যা JavaC ইনস্টল করে, স্টেপ ২-এ যান যেখানে আমরা নিশ্চিত করব যে আপনি JavaC-এর পাথ সঠিকভাবে সেট করেছেন।
স্টেপ ২: Java এনভায়রনমেন্ট ভেরিয়েবল সেট করা & সিস্টেম পাথ আপডেট করা
এই প্রসেস শুরু করার আগে, বুঝতে হবে যে নিচের প্রসিডিউরগুলো শুধু প্রযোজ্য যদি আপনি নিশ্চিত করে থাকেন যে Java Development Kit সঠিকভাবে ইনস্টল করা হয়েছে (স্টেপ ১)।
আপনি যদি JDK ইনস্টল করে থাকেন এবং এখনও "Javac is not recognized as an internal or external command" পান, তবে আপনি Java 초보자রা যে সবচেয়ে সাধারণ টেকনিক্যাল ইস্যু মুখোমুখি হন সেটি পেয়ে গেছেন। Windows-এ Java Development Kit ফাইনালাইজ করার জন্য, আপনাকে ম্যানুয়াল স্টেপস একটি সিরিজ করতে হবে। এই স্টেপগুলো সবসময় JDK ইনস্টলেশনের পর ফলো করা উচিত, এমনকি Java Development Kit আপডেট করার পরেও।
Java এনভায়রনমেন্ট ভেরিয়েবল সঠিকভাবে সেট করা এবং সিস্টেম পাথ আপডেট করার কুইক গাইড এখানে:
- Windows key + R চাপুন একটি Run ডায়লগ বক্স খোলার জন্য। তারপর, "sysdm.cpl" টাইপ করুন এবং Enter চাপুন System Properties উইন্ডো খোলার জন্য।

- System Properties উইন্ডোর ভেতরে, Advanced ট্যাবে যান এবং Environment Variables-এ ক্লিক করুন।

- নতুন খুলা Environment Variable উইন্ডোতে, System variable-এর অধীনে New বাটনে ক্লিক করুন।

- New System Variable উইন্ডোতে, Variable name-কে JAVA_HOME এবং Variable value-কে আপনার JDK ডিরেক্টরির পাথ সেট করুন। পরিবর্তনগুলো সেভ করতে OK ক্লিক করুন।

নোট: আপনি যদি স্টেপ ১-এ আমাদের পরামর্শ মেনে JDK-এর ইনস্টলেশন পাথ নোট করে থাকেন, তবে আপনি সরাসরি Variable value-এ পেস্ট করতে পারেন।

- এখন যেহেতু আপনি Environment Variables উইন্ডোতে ফিরে এসেছেন, System variables-এর অধীনে path নামের একটি ভেরিয়েবল খুঁজুন। Path ভেরিয়েবল সিলেক্ট থাকা অবস্থায় Edit বাটনে ক্লিক করুন।

- Edit environment ভেরিয়েবল উইন্ডোতে, New বাটনে ক্লিক করুন।

- নতুন তৈরি এনভায়রনমেন্ট ভেরিয়েবলকে %JAVA_HOME%\bin নাম দিন এবং Enter চাপুন। তারপর পরিবর্তনগুলো অ্যাপ্লাই করতে Ok ক্লিক করুন।

- এই শেষ স্টেপের সাথে, আপনার Java এনভায়রনমেন্ট কনফিগার হয়ে যাবে। আপনি এখন CMD-এ서 অ্যাপ্লিকেশন কম্পাইল করতে পারবেন বা আপনার Javac Version চেক করতে পারবেন।

বোনাস স্টেপ: কনফিগারেশন সফল হয়েছে কিনা চেক করা
Command Prompt-এ একটি অতিরিক্ত স্টেপ আছে যেটি আপনি ফলো করতে পারেন যাতে নিশ্চিত হোন আপনি সফলভাবে Java এনভায়রনমেন্ট ভেরিয়েবল পাথ কনফিগার করেছেন। নিচের ধাপগুলো ফলো করুন কনফিগারেশন কাজ করছে কিনা দেখতে:
- Windows key + R চাপুন একটি Run ডায়লগ বক্স খোলার জন্য। এরপর, "cmd" টাইপ করুন এবং Enter চাপুন একটি Command Prompt উইন্ডো খোলার জন্য।

- Command Prompt উইন্ডোতে, echo %JAVA_HOME% টাইপ করুন এবং Enter চাপুন যাতে আপনি কী রিটার্ন পান সেটি দেখতে পারেন। আপনি যদি JDK-র ডিরেক্টরি সহ একটি প্রিন্ট দেখেন, তবে স্টেপ ২ সফল হয়েছে এবং আপনার JAVAC ঠিকমতো কাজ করছে। পরিস্থিতিতে আপনি JDK পাথের বদলে স্পেস দেখেন, এর মানে আপনি এনভায়রনমেন্ট ভেরিয়েবল সেটআপ করতে ব্যর্থ हुয়েছেন – এই ক্ষেত্রে, স্টেপ ১ এবং স্টেপ ২ রিভিজিট করুন।
