উইন্ডোজ জেভিএহোমকে উপেক্ষা করে: জেডিকে কীভাবে ডিফল্ট হিসাবে সেট করবেন?


90

আমি কীভাবে উইন্ডোজকে জেআরডি-র পরিবর্তে জেডিকে ব্যবহার করতে রাজি করব?

এই প্রশ্নটি আগে, এখানে এবং অন্য কোথাও জিজ্ঞাসা করা হয়েছে:

আমি কীভাবে ডিফল্ট জাভা ইনস্টলেশন / রানটাইম (উইন্ডোজ) সেট করব?

সমস্যাটি হ'ল উইন্ডোজ উপেক্ষা করে JAVA_HOMEএবং এটি জেডিকে বিন ডিরেক্টরিটিকে প্রথম পথে প্রবেশের বিষয়টিকেও উপেক্ষা করে।

আমি যখন java -versionকমান্ড লাইনটি থেকে চালাচ্ছি , আমার জেডিকে 1.6 ইনস্টলেশনটি শুরু করার পরিবর্তে এটি 1.7 জেআরই চালায়।

আমার অনুমান যে এটি 1.7-র নির্দিষ্ট সমস্যা এবং উইন্ডোজ something এমন কিছু করছে যা রেজিস্ট্রিতে করা উচিত নয়।

এটি ঠিক করার জন্য কোনও ধারণা?

সম্পাদনা : উফ! আমি উপরে "ক্লাসপথে প্রথম প্রবেশ" লিখেছিলাম, যখন আমি "পথ" বোঝানো হয়েছিল। দুঃখিত

উত্তর:


134

উইন্ডোজে, javaএক্সিকিউটেবল জাভা-র ডিফল্ট সংস্করণটি চালানোর জন্য উইন্ডোজ রেজিস্ট্রি ব্যবহার করে।

java.exeচালানোর অনুলিপিটি PATHপরিবেশের ভেরিয়েবল ব্যবহার করে খুঁজে পাওয়া যায় is এটি পরিবর্তন করার পদক্ষেপ না নিলে ডিফল্টরূপে একটি অনুলিপি উইন্ডোজ ডিরেক্টরিতে পাওয়া যাবে। যেহেতু এই অনুলিপিটি কোনও জাভা রানটাইম ডিরেক্টরিতে নেই, এটি রেজিস্ট্রি দেখে এটির সন্ধান করে।

সুতরাং, আপনাকে হয় রেজিস্ট্রিটি পরিবর্তন করতে হবে, বা জাভাটির সংস্করণটি আপনার নিজের উইন্ডোজ ডিরেক্টরিটির আগে রেখে দিতে হবে PATH


11
ওপি এখানে। উপরে আমার সম্পাদনা দেখুন। হ্যাঁ, এটি সমাধান করেছে। দুটি নোট: প্রথমত, দেখা যাচ্ছে যে জাভা ইনস্টলারটি উইন্ডোজ \ System32 এ সত্যই জাভা.এক্সি রেখেছিল। এটি আমার কাছে অবাক করে দেয়। দ্বিতীয়ত, আপনি যখন কম্পিউটার / প্রোপার্টি / অ্যাডভান্সড সিস্টেম সেটিংস / এনভায়রনমেন্ট ভেরিয়েবলের অধীনে পাথটি পরিবর্তন করেন, আপনাকে সিস্টেমের পাথটি পরিবর্তন করতে হবে, ব্যবহারকারীর পাথটি নয়। সিস্টেমের পাথ নিজেকে প্রথমে রাখে।
স্লেভ

4
আমি ব্যবহারকারীর 237815 এর বিষয়টিকেও আন্ডারস্কোর করব যা মনে হচ্ছে জাভা ইনস্টলারটি তার জাভা.এক্সইটিকে উইন্ডোজ \ সিস্টেম 32 এ ফেলেছে। এটি অবশ্যই আমার পক্ষে স্বজ্ঞাত নয়। কনসোল থেকে "জাভা-রূপান্তর" যাচাই করার পরে আমি কি কোনও আরামের স্তর পেয়েছি যে উইন্ডোজ এখন জাভা.এক্সই ব্যবহার করছে যা আমি আমার জেডি কে ইনস্টলেশন থেকে পূর্বের এবং অনাকাঙ্ক্ষিত সংস্করণের চেয়ে চেয়েছিলাম।
জন টোবলার

17
আমার উইন্ডোজ / সিস্টেম 32 ফোল্ডারে জাভা.এক্সি, জাভাউ.এক্সি, এবং জাভাউস.এক্সই নাম পরিবর্তন করেও এই সমস্যাটি সমাধান হয়েছিল। তারপরে এবং তারপরেই জাভা-রূপান্তরটি জাভাআহোম এবং প্যাথ
ইনভারসাস

6
তুমি আমার দিন বাঁচিয়েছ! উইন্ডোজ PATH এর আগে জেডিকে সম্পর্কিত এন্ট্রি সরানো সমস্যার সমাধান করেছে। তোমাকে অনেক ধন্যবাদ!
the_dark_destructor

9
আমি উইন্ডোজ 10 এ ভেরিয়েবলের %JAVA_HOME%\binপ্রথম অবস্থানে pathরেখে আমার সাথে কাজ করি।
ওয়েনডেল

31

উইন্ডোজ 8-এ, আপনি C:\ProgramData\Oracle\Java\javapath ডিরেক্টরি মুছে ফেলতে চাইতে পারেন ।

পথ থেকে

এটি আমার সমস্যা সমাধান করেছে।


4
উইন্ডোজ 10-এ, এর: সি: \ প্রোগ্রাম ফাইল (x86) \ প্রচলিত ফাইল \ ওরাকল \ জাভা \ জাভাপাঠ ath এটি সিস্টেম পাথ ভেরিয়েবলটিতে স্বয়ংক্রিয়ভাবে যুক্ত হবে। উত্তরগুলি মুছে ফেলুন আপনার কাস্টম পাথের অবস্থান সেট করুন।
ডেক্সটার

4
উপরের মন্তব্যটি উইন্ডোজ 10 এর ক্ষেত্রে সহায়তা করেছে
সাবা আহং

24

আমি এই সমস্যা আছে। আমি ১.6 চালাচ্ছি তবে 1.5 নিয়ে আমি যে কোডটি নিয়ে কাজ করছি তা তৈরি করতে চাই। আমি JAVA_HOMEএবং PATH(ব্যবহারকারী এবং সিস্টেম উভয়) কোনও লাভই করতে পারি না।

এর জবাব হলো, 1.6 জন্য ইনস্টলার অবনমিত হয়েছে java.exe, javaw.exeএবং javaws.exeআমার মধ্যে Windows\System32ফোল্ডারে (উইন্ডোজ 7)।

আমি ঐ ফাইল পুনঃনামকরনের দ্বারা এটি মীমাংসিত java_wrong.exe, javaw_wrong.exeএবং javaws_wrong.exe। কেবলমাত্র এটি করার পরে এটি জাভাটির সঠিক সংস্করণটি মধ্যে JAVA_HOMEএবং হিসাবে সংজ্ঞায়িত হিসাবে বেছে নিতে পারে PATH। আমি ফাইলগুলিকে এইভাবে নামকরণ করেছি কারণ এটি সহজেই বিপরীত উপায়ে মুছে ফেলে।

আশাকরি এটা সাহায্য করবে!


10
নাম পরিবর্তনের পরিবর্তে, আপনি PATH ভেরিয়েবলটি প্রথম মান% JAVA_HOME% \ বিন হিসাবে উল্লেখ করে পরিবর্তন করতে পারেন, এটি যে প্রথম মান হিসাবে নেবে
ম্যাক্সভিভিস

4
@ ম্যাক্সিভিস ধন্যবাদ। আমি অনুমান করি যে সমস্যাটি প্যাথ উপাদানগুলির ক্রম হতে পারে যেমন উইন্ডোজ \ সিস্টেম 32 জাভাআহোমের আগে ছিল। আমি কেবল তাদের নাম পরিবর্তন করেছি যাতে তারা কার্যকরভাবে বিপরীত উপায়ে মুছে ফেলা যায়।
ইনভারসাস

কোনওভাবে JAVA_HOME সেট করে আমার পক্ষে কোনওভাবেই কাজ করছে না, এটি আসলে এটি সমাধান করেছে।
গিলহার্ম ওরিওলি

13

উইন্ডোজ কিছুই উপেক্ষা করে না। এটি আপনার সেটআপের সাথে একটি সমস্যা; উইন্ডোজ কেবলমাত্র আপনি সরবরাহ করেন তা ব্যবহার করে। এর কোন বিশেষ জ্ঞান নেই JAVA_HOME

CLASSPATHউইন্ডোজের সাথে কোনও সম্পর্ক নেই। উইন্ডোজে এটি কেবল একটি পরিবেশগত পরিবর্তনশীল যা কোনও ফোল্ডারের অবস্থানে প্রসারিত হয়।

আপনার %PATH%পরিবেশগত পরিবর্তনশীল পরীক্ষা করুন । এটি যা উইন্ডোজকে অন্যের আগে খুঁজে পেতে সহায়তা করে। পাথ (যে পোস্ট হিসাবে আপনি লিঙ্ক করেছেন) তে ইঙ্গিত করা উচিত %JAVA_HOME%\bin;<remainder of path>। আবার, আপনি যে পোস্টে লিঙ্ক করেছেন সেটি আপনাকে ব্যাচের ফাইল ব্যবহার করে এটি সেট করার একটি উপায় দিয়েছে।

(অন্যদের জন্য এই চিনতে পারেন না: পরিদর্শন করা% পাথ% সহজ পদ্ধিতি হল উপায় প্রম্পট এবং টাইপ কমান্ড খুলতে হয় echo %PATH%। এছাড়াও উপর ডান ক্লিক করে সেখানে পেতে পারেন Computerস্টার্ট মেনুর ডানদিকে ফলকে এবং নির্বাচন Propertiesকরুন, তারপর Advanced System Settings, এবং টেন Environmental Variablesবোতাম।)


@ এরিকসন: ঠিক আছে। ধন্যবাদ - আমি এটি সংশোধন করব। উইন্ডোজের সাথে এটির এখনও কোনও সম্পর্ক নেই, তবে এটি ছিল আমার উত্তরের মূল বিষয়। :)
কেন হোয়াইট

বোঝা গেল, আমি কেবল উদ্বিগ্ন ছিলাম যে একটি নতুন ভুল ধারণা তৈরি হতে পারে; জাভা JAVA_HOMEউইন্ডোজের চেয়ে বেশি কিছু জানে না ।
ইরিকসন

আমি সংশোধন প্রশংসা করি। আমি নিজে জাভা ব্যক্তি নই (আজ অবধি সীমিত অভিজ্ঞতা), তাই ভবিষ্যতের রেফারেন্সের জন্য জেনে রাখা ভাল।
কেন হোয়াইট

4
JAVA_HOMEজাভা ইনস্টলেশন রুট সেট করা উচিত। পাথটি থাকা উচিত %JAVA_HOME%\bin;&lt;remainder of path%gt;, অন্যথায় আপনি জাভা, জাভাক ইত্যাদির "সন্ধান" না করে বাতাসে পরিণত হবেন অবশ্যই, উইন্ডোজ কেবলমাত্র PATHভেরিয়েবলটি দেখায় , তবে জাভা সম্পর্কিত কিছু সরঞ্জাম JAVA_HOMEউপলক্ষে দেখে।
এডউইন বাক

@ এডউইন: নিখোঁজদেরও \binঠিক করেছেন। ধন্যবাদ
কেন হোয়াইট

6

আমারো একই ইস্যু ছিল. আমি জাভা সংস্করণগুলির একটি গুচ্ছ ইনস্টল করেছি এবং কোনও কারণে জাভা 1.6 এর পরিবর্তে জাভা 1.7 ব্যবহার করা হচ্ছে, যদিও আমি 1.6 (সি: d jdk1.6.0_45_32 \ বিন) ব্যবহারের পথে নির্দিষ্ট করেছি in

উইন্ডোজ ১.7 এর পরিবর্তে ১.6 ব্যবহার করে তা নিশ্চিত করার জন্য আমি জেডিকে যে পথটি সরিয়ে নিয়ে যেতে চেয়েছি সেটিকে (1.6) PATH এনভায়রনমেন্ট ভেরিয়েবলের মধ্যে প্রথম এন্ট্রি হতে হবে।

সুতরাং, উদাহরণস্বরূপ, PATH পরিবেশের পরিবর্তনশীল আগে ছিল:

C:\Program Files (x86);...<other entries>;C:\dev\ant181\bin;C:\jdk1.6.0_45_32\bin

এবং আমি প্রথমে জেডিকে স্থানান্তরিত করার পরে, এটি কাজ করেছিল:

C:\jdk1.6.0_45_32\bin;C:\Program Files (x86);...<other entries>;C:\dev\ant181\bin

আমার ধারণা, জাভা 1.7 এর উইন্ডোজ ইনস্টলারটি এটি ইতিমধ্যে PATH- এ অন্য কোনও ডিরেক্টরিতে ইনস্টল করেছে, সুতরাং নির্দিষ্ট কাস্টম PATH এন্ট্রি সি এর পরিবর্তে প্রথমে ব্যবহৃত হচ্ছে: d jdk1.6.0_45_32 \ বিন;


ধন্যবাদ ভাই. পাথ ভেরিয়েবলের প্রথম উপাদান হিসাবে জাভা_হোম \ বিন পাথ সরানো আমার জীবন বাঁচিয়েছে।
Tএমআর টাসিসিআই

4

আমার কেস 'Path'ভেরিয়েবলের জন্য ' C:\ProgramData\Oracle\Java\javapath;' এর মতো একটি প্যারামিটার যুক্ত হয়েছিল । এই অবস্থানটি থাকার ছিল java.exe, javaw.exeএবং javaws.exeজাভা 8 যা সদ্য মাধ্যমে ইনস্টল করা থেকে jdk.exeওরাকল থেকে।

আমি এই পাঠ্যটিকে সেই পথ থেকে সরিয়েছি যেখানে আমার পথটি ইতিমধ্যে রয়েছে %JAVA_HOME%\bin

এখন, ভেরিয়েবলটি 'JAVA_HOME'আমার জাভা সংস্করণটি নিয়ন্ত্রণ করছে যা আমি চাইছিলাম।


4

এখানে চিত্র বর্ণনা লিখুনধরুন আপনি জেডিকে 8 এর পরে জেডিকে 10 ইনস্টল করেছেন এবং সিস্টেম এনভায়রনমেন্ট ভেরিয়েবল সেট পাথের মতো "সি: \ প্রোগ্রামডাটা \ ওরাকল \ জাভা \ জাভাপাথ" এর পরে জাভা সংস্করণটি এই পাথ দ্বারা নিয়ন্ত্রণ করুন। এটি JAVA_Home এমনকি jdk 1.8 পাথ সেট উপেক্ষা করবে তাই জাভাআহোম পথের প্রভাব পেতে "সি: \ প্রোগ্রামডাটা \ ওরাকল \ জাভা \ জাভাপাথ" সরিয়ে ফেলুন



2

আমি জাভা 7 এবং 8 ইনস্টল করেছি এবং আমি জাভা 7 এ পুনঃনির্দেশ করতে চাই তবে আমার সিএমডি প্রম্পট উইন্ডোতে জাভা সংস্করণটি জাভা 8 প্রদর্শন করে Java
জাভা 7 বিন ডিরেক্টরি পথ যুক্ত করেছে ( সি: \ প্রোগ্রাম ফাইলগুলি জাভা \ jdk1.7.0_10 \ বিন ) প্রান্তে PATH ভেরিয়েবলের দিকে, তবে কার্যকর হয়নি এবং জাভা ৮ দেখায় তাই আমি জাভা path টি পথকে পরিবর্তনের পথের মান হিসাবে শুরু করেছি এবং এটি কার্যকর হয়েছে।
একটি নতুন সেন্টিমিডি প্রম্পট উইন্ডোটি খোলে এবং আমার জাভা সংস্করণটি পরীক্ষা করে এখন এটি জাভা 7 দেখায়


1

আমার ক্ষেত্রে আমি জাভা 7 এবং 8 (উভয় x64) ইনস্টল করেছি এবং আমি জাভা 7 এ পুনঃনির্দেশ করতে চাই তবে জাভা 8 ব্যবহার করতে প্রস্তুত করা হয়েছে 8 জাভা প্যাথ পরিবেশ পরিবর্তনশীল ব্যবহার করে:

সি: \ প্রোগ্রামডেটা \ ওরাকল \ জাভা \ জাভাপাথ

এটির ফোল্ডার রানটাইম সন্ধানের জন্য প্রথম বিকল্প হিসাবে (একটি লুকানো ফোল্ডার)। এই পাথটিতে 3 টি সিমলিংক রয়েছে যা সম্পাদনা করা যায় না।

আমার পিসিতে, PATH এনভায়রনমেন্ট ভেরিয়েবলটি দেখতে এরকম দেখাচ্ছে:

সি: \ প্রোগ্রামডেটা \ ওরাকল \ জাভা \ জাভাপাথ; সি: \ উইন্ডোজ \ সিস্টেম 32; সি: \ প্রোগ্রাম ফাইলসমূহ জাভা \ jdk1.7.0_21 \ বিন;

আমার ক্ষেত্রে এটির মতো দেখতে হবে:

সি: \ উইন্ডোজ \ সিস্টেম 32; সি: \ প্রোগ্রাম ফাইলসমূহ জাভা \ jdk1.7.0_21 \ বিন;

আমাকে প্রতীকগুলি অন্য কোথাও কেটে পেস্ট করতে হয়েছিল যাতে জাভা সেগুলি খুঁজে না পায় এবং আমি সেগুলি পরে পুনরুদ্ধার করতে পারি।

জাভাআহোম এবং জেআরআউহোম এনভায়রনমেন্ট ভেরিয়েবলগুলি কাঙ্ক্ষিত জাভা ফোল্ডারগুলির রানটাইমগুলিতে সেট করার পরে (আমার ক্ষেত্রে এটি জাভা 7), কমান্ড java -version আপনার কাঙ্ক্ষিত জাভা রানটাইমটি প্রদর্শন করবে। আমি মন্তব্য করছি রেজিস্ট্রি নিয়ে গোলমাল করার দরকার নেই।

উইন 7 এক্স 64 এ পরীক্ষিত।


1

এই সমস্যাটি সম্ভবত আপনার সিস্টেমে জাভাটির পূর্ববর্তী সংস্করণগুলি ইনস্টল করার কারণে। প্রথমে আপনার পরিবেশের পরিবর্তনগুলি সাবধানতার সাথে পরীক্ষা করে দেখুন এবং জাএভিএর পূর্ববর্তী সংস্করণগুলির সাথে সম্পর্কিত সমস্ত পরিবেশের ভেরিয়েবলগুলি মুছে ফেলুন এবং সেই পথগুলিকে প্রতিস্থাপন করুন

C:\Program Files\Java\<your new jdk version>\bin

0

এখানে একটি অতিরিক্ত ফ্যাক্টর রয়েছে; জাভা এক্সিকিউটেবলের পাশাপাশি জাভা ইনস্টলেশনটি যেখানেই আপনি এটি স্থাপন করতে বলুন, উইন্ডোগুলিতে, জাভা ইনস্টলার আপনার উইন্ডোজ সিস্টেম 32 ডিরেক্টরিতে এমন কয়েকটি এক্সিকিউটেবলের অনুলিপিও রাখে, তাই আপনি সম্ভবত ব্যবহার করবেন যা প্রতিটি জাভা কার্যকর ছিল সম্প্রতি ইনস্টল করা হয়েছে।


0

আপনি যদি উইন্ডোজ পরিষেবা হিসাবে .BAT ফাইলটি ব্যবহার করে থাকেন তবে কেবল জাভা সংস্করণে নির্দেশ করার জন্য% JAVA_Home% পরিবর্তন করার পরে উইন্ডোজ পরিষেবাটি আনইনস্টল করুন এবং আবার এটি ইনস্টল করার পরামর্শ দেব ..


0

কিছুক্ষন এই সমস্যাটির সাথে লড়াই করার পরে এবং এ সম্পর্কে গবেষণা করার পরে অবশেষে আমি এই পদক্ষেপগুলি অনুসরণ করে এটি সমাধান করতে পেরেছি:

1) jdk সংস্করণ ইনস্টল
করুন 2) সিস্টেম ভেরিয়েবলে নতুন ভেরিয়েবল তৈরি করুন
3) এটিকে জাভাআহোম হিসাবে নাম দিন এবং জেডিকে ইনস্টলেশন পাথ দিন
4) এই ভেরিয়েবলটিকে পাথে যুক্ত করুন এবং শীর্ষে নিয়ে যান।
5) সি: \ প্রোগ্রাম ফাইলগুলিতে (86) \ প্রচলিত ফাইলগুলি rac ওরাকল \ জাভা \ জাভাপাথ এবং জাভা.এক্সি এবং javaw.exe প্রতিস্থাপন করুন প্যাথোজবজডক / বিন ফোল্ডার থেকে একই নামের সাথে সংশ্লিষ্ট ফাইলগুলি

অবশেষে, আমি "জাভা-রূপান্তর" এর সাহায্যে জাভাটির ডিফল্ট সংস্করণটি পরীক্ষা করেছিলাম!


0

আমার একই সমস্যা ছিল, ব্যবহারকারীর পরিবেশ পরিবর্তনশীল সেটিংসে আমি জাভাহোম এবং প্যাথ সঠিকভাবে কনফিগার করেছিলাম তবে এটি কার্যকর হয়নি। আমি যখন আমার সিস্টেম এনভায়রনমেন্ট ভেরিয়েবলগুলি আপডেট করি তখন এটি কাজ করা শুরু করে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.