কিছু ব্যবহারকারী নির্দিষ্ট অ্যাপ্লিকেশন এক্সিকিউটেবল খোলার সময় "registry refers to a nonexistent Java Runtime Environment" এররটি পান। অধিকাংশ প্রভাবিত ব্যবহারকারী রিপোর্ট করেন এই সমস্যা হঠাৎ শুরু হয়েছে (তারা পূর্বে একই এক্সিকিউটেবল ইস্যু ছাড়া চালাতে পারতেন)।
"registry refers to a nonexistent Java Runtime Environment" এররটির কারণ
ইস্যু রিপ্লিকেট করার চেষ্টা এবং বিভিন্ন ব্যবহারকারীর রিপোর্ট দেখে আমরা এই ইস্যু তদন্ত করেছি। এই নির্দিষ্ট এরর বার্তাটি ইন্ডিকেট করে যে আপনার রেজিস্ট্রি এডিটরে পুরনো Java ইনস্টলেশনের অবশিষ্টাংশ রয়েছে।
আমরা যা জানতে পেরেছি, তার মতে এই ইস্যু উদ্ভব করার وراء কিছু সাধারণ পরিস্থিতি রয়েছে:
- রেজিস্ট্রিতে এন্ট্রিগুলো থাকছে যা আসল Java পাথ পর্যন্ত যায় না - এটি সাধারণত তখন হয় যদি আপনি ইনিশিয়াল ইনস্টলেশনের পর সফটওয়্যারটি ম্যানুয়ালি অন্য ডিরেক্টরিতে সরিয়ে ফেলেন। এই সমস্যাটি ম্যানুয়ালি সেই রেজিস্ট্রি এন্ট্রিগুলো মুছে ফেলার মাধ্যমে সমাধান করা যায় যেগুলো করেসপন্ড করে না।
- অসম্পূর্ণ বা করাপ্ট Java ইনস্টলেশন - অনেক ব্যবহারকারী Java আনইনস্টল করে JDK রিইনস্টল করার মাধ্যমে এই নির্দিষ্ট ইস্যু সমাধান করতে পেরেছেন। ব্যবহারকারীর অনুমান অনুযায়ী একটি করাপ্ট ফাইল বা গ্লিচ এর জন্য দায়ী হতে পারে।
আপনি যদি বর্তমানে এই নির্দিষ্ট ইস্যু সমাধানের জন্য লড়াচড়া করছেন, তবে এই আর্টিকেলটি আপনাকে যাচাইকৃত ট্রাবলশুটিং ধাপগুলোর সংকলন দেবে। নিচে আপনার মতো পরিস্থিতিতে অন্যান্য ব্যবহারকারীদের দ্বারা সফলভাবে ব্যবহৃত কয়েকটি পদ্ধতি দেওয়া আছে।
সর্বোত্তম ফলাফলের জন্য, নিচের পদ্ধতিগুলো ক্রমানুসারে ফলো করুন যতক্ষণ না আপনার নির্দিষ্ট পরিস্থিতিতে সমস্যা সমাধানকারী ফিক্সটি পান। চলুন শুরু করি!
পদ্ধতি ১: JavaHome এবং RuntimeLib-এর অস্তিত্বহীন রেজিস্ট্রি এন্ট্রি মুছুন
এই সমস্যা সম্মুখীন অনেক ব্যবহারকারী সেই JavaHome এবং RuntimeLib রেজিস্ট্রি এন্ট্রিগুলো মুছে ফেলে সমস্যা সমাধান করতে পেরেছেন যেগুলো কোনো অস্তিত্বশীল পাথ রেফার করে না।
প্রতিটি JavaHome ভেরিয়েবল কে একটি পাথ সিমিলার টু \bin\client\jvm.dll রেফার করা উচিত যখন প্রতিটি RuntimeLib কে একটি অস্তিত্বশীল jvm.dll ফাইল রেফার করা উচিত। কিন্তু যেহেতু এই ইস্যুটি ঘটছে, আপনি এক বা একাধিক ভেরিয়েবল পেতে পারেন যাদের করেসপন্ডিং পাথ বা ফাইল নেই।
এটি হতে পারে যদি আপনি اخیرে সফটওয়্যারটি অন্য ডিরেক্টরিতে সরিয়ে ফেলেন ইনস্টলেশনের পর। আপনি যদি এমন কোনো রেজিস্ট্রি ভেরিয়েবল পান, তবে সেগুলো ম্যানুয়ালি মুছে ফেলতে হবে।
এই প্রসেসের কিছু ম্যানুয়াল ওয়ার্ক এবং ছোট পরিমাণ টেকনিক্যাল এক্সপার্টাইজ দরকার, কিন্তু এটি আপনাকে পুরো Java Runtime Environment রিইনস্টল না করেই সমস্যা সমাধান করতে দিতে পারে। আপনি যদি এটি করার জন্য প্রস্তুত হন, তবে আমরা পুরো প্রসেসের স্টেপ বাই স্টেপ গাইড তৈরি করেছি। আপনাকে কী করতে হবে:
- Windows key + R চাপে Run ডায়লগ বাক্স খুলুন। "regedit" টাইপ করে Enter চাপুন Registry Editor খুলতে। UAC (User Account Control) প্রম্পটে Yes ক্লিক করুন।

- Registry Editor-এ বাম প্যান ব্যবহার করে নিচের লোকেশনে নেভিগেট করুন:
Computer \ HKEY_LOCAL_MACHINE \ SOFTWARE \ JavaSoft \ Java Runtime Environment
- পৌঁছালে, Java Runtime Environment ফোল্ডারের প্রথম Java ভার্সনটি সিলেক্ট করুন এবং ডান প্যানে যান।
- ডান প্যানে JavaHome-এ ডাবল ক্লিক করুন এবং পুরো Value data পাথটি আপনার ক্লিপবোর্ডে কপি করুন।

- File Explorer খুলুন এবং আপনার কপি করা লোকেশনটি নেভিগেশন বারে পেস্ট করুন। যদি লোকেশন কোথাও নিয়ে যায়, তবে রেজিস্ট্রি ভ্যালুর করেসপন্ডিং পাথ আছে। যদি কোথাও না নিয়ে যায়, তবে রেজিস্ট্রি অস্তিত্বহীন Java ইনস্টলেশন রেফার করছে এবং এটি ডিলিট করা উচিত।
নোট: Value data পাথ যদি কোথাও না যায়, তবে JavaHome-এ রাইট-ক্লিক করে Delete ক্লিক করুন রেজিস্ট্রি এন্ট্রি মুছতে।

- JavaHome নিয়ে নেওয়ার পর, RuntimeLib-এ ডাবল ক্লিক করুন এবং Value data পাথটি আপনার ক্লিপবোর্ডে কপি করুন।

- আগের মতো, একটি File Explorer উইন্ডো খুলুন এবং আপনি যে পাথটি কপি করেছিলেন সেটি নেভিগেশন বারে পেস্ট করুন। কিন্তু এইবার Enter চাপার আগে শেষের অংশ "jvm.dll" রিমুভ করে দিন।
নোট: আপনি যদি করেসপন্ডিং পাথ পান, তবে RuntimeLib রেজিস্ট্রি ভ্যালু সঠিকভাবে কাজ করছে। যদি উইন্ডোজ পাথ খুঁজে পাওয়া যায় না বলে মেসেজ দেয়, তবে রেজিস্ট্রি ভ্যালু অস্তিত্বহীন Java ইনস্টলেশন রেফার করছে এবং এটি সরাতে হবে। এই কেসে, RuntimeLib-এ রাইট-ক্লিক করুন এবং Delete বেছে নিন ভ্যালুটি মুছতে।

- প্রথম Java Runtime Environment ভার্সনটি নিয়ে নেওয়ার পর, Java Runtime Environment-এ বাকি থাকা সব Java ভার্সনের সাথে ধাপ ৪ থেকে ৭ রিপিট করুন।

- সকল রেজিস্ট্রি এন্ট্রি যাচাই ও ঠিক করার পর Registry Editor বন্ধ করুন এবং মেশিন রিস্টার্ট করুন এবং পরবর্তী স্টার্টআপে চেক করুন এররটি সমাধান হয়েছে কিনা।
যদি এই পদ্ধতি সফল না হয় বা আপনি একটি সহজ ফিক্স চান, তবে নিচের পদ্ধতিতে যান।
পদ্ধতি ২: Java আনইনস্টল করুন এবং Java JDK ইনস্টল করুন
আপনি যদি Minecraft বা JDK-র ওপর নির্ভরশীল অন্য অ্যাপ্লিকেশন চালানোর চেষ্টা করলে এই ইস্যুটি সম্মুখীন হন, তবে পুরো Java এনভায়রনমেন্ট আনইনস্টল করে JDK (Java Development Kit) রিইনস্টল করলে সমস্যা সমাধান হতে পারে।
কীভাবে করবেন:
- Windows key + R চাপে Run ডায়লগ বাক্স খুলুন। "appwiz.cpl" টাইপ করে Enter চাপুন Programs and Features খুলতে।

- Programs and Features-এ Publisher কলামে ক্লিক করুন, তারপর Oracle Corporation পাবলিশড এন্ট্রিগুলোতে স্ক্রোল ডাউন করুন।
- এরপর, প্রতিটি Java ইনস্টলেশন (বা আপডেট) রাইট-ক্লিক করে Uninstall ক্লিক করে আনইনস্টল করুন। প্রতিটি এন্ট্রির জন্য অনস্ক্রিন প্রম্পট ফলো করে আনইনস্টলেশন কমপ্লিট করুন।

- Java এনভায়রনমেন্ট পুরোপুরি আনইনস্টল হলে কম্পিউটার রিস্টার্ট করুন।
- পরবর্তী স্টার্টআপে এই লিঙ্কে (এখানে) যান এবং Download বাটনে ক্লিক করুন।

- পরবর্তী স্ক্রিনে Java SE Development Kit-এ স্ক্রোল ডাউন করুন এবং Accept Licence Agreement সাথে যুক্ত টগল ক্লিক করুন। তারপর Windows-এর সাথে যুক্ত এক্সিকিউটেবল ডাউনলোড লিংকে ক্লিক করুন।

- JDK ইনস্টলার খুলুন এবং অনস্ক্রিন প্রম্পট ফলো করে আপনার পিসিতে JDK এনভায়রনমেন্ট ইনস্টল করুন। প্রসেস কমপ্লিট হলে অটোমেটিক্যালি প্রম্পট না পেলে ম্যানুয়ালি কম্পিউটার রিস্টার্ট করুন।
- পরবর্তী স্টার্টআপে, আপনাকে অ্যাপ্লিকেশন শুরু করতে পারা উচিত "registry refers to a nonexistent Java Runtime Environment" এরর ছাড়া।