জাভা_হোম এনভায়রনমেন্ট ভেরিয়েবলের অস্তিত্বের কারণ কী?


94

অনেক জাভা ভিত্তিক অ্যাপ্লিকেশনটির JAVA_HOME এনভ ভেরিয়েবল সেট করতে হয়। এই পরিবর্তনশীলটির উদ্দেশ্য কী?



4
আমি দেখতে পাই যে প্রশ্নের উত্তর এখনও নেই। জাভা নিজেই চালিত করার জন্য, যদি আপনার পথে বাইনারিযুক্ত ফোল্ডার থাকে তবে এই পরিবর্তনশীলটি থাকা দরকার নেই। সমস্ত উত্তরগুলি সুস্পষ্টভাবে নির্দেশ করে: "যেখানে জাভা ইনস্টল করা হয়েছিল"। তবে কেন: জাভা অ্যাপ্লিকেশন চালানোর অর্থ কী?
উল্ফ

7
এই সমস্ত মন্তব্য এবং উত্তর থাকা সত্ত্বেও, আমি এই পরিবেশটি পরিবর্তনশীল সেট করার কোনও প্রকৃত কারণ দেখতে পাচ্ছি না । কোন যুক্তি নেই। আমি ডাব্লুএসডিএল 2 জাভা দিয়ে এটি সেট করার চেষ্টা করে এসেছি। যদি আমি এই সরঞ্জামটি ব্যবহার না করতাম তবে এনভেরি ভেরিয়েবলের প্রয়োজন পড়ত না .... সম্ভবত এটি কিছু সরঞ্জাম এই ভের ব্যবহার করে। কিন্তু কেন?
থুফির

@ তুফির - তবে কোথাও স্পষ্টভাবে বলা কারণ আমি দেখিনি । - জাভা_হোম কেবল কনভেনশন। প্রত্যেকে এটি আফাইক ব্যবহার করতে সম্মত হওয়া ব্যতীত এর কোনও বিশেষ অর্থ নেই - কেবলমাত্র আমি দেখতে পাচ্ছি এটি সাধারনত PATH ভেরিয়েবল এবং জেডিকে সেট করা জেআরইয়ের মধ্যে পার্থক্য করার সরঞ্জামকে দেয়। সাধারণত JAVE_HOME JDK এ সেট থাকে। - এটা স্পষ্ট। আপনার যেমন PATH এর সাথে ডিরেক্টরি রয়েছে সেখানে জাভা এক্সিপ সন্ধানের জন্য একাধিক জায়গা থাকতে পারে এর সাথে কোনও ক্রম নেই।
রোহান

উত্তর:


22

পরিবেশের ভেরিয়েবলগুলি এমন স্ট্রিং যা ড্রাইভ, পাথ বা ফাইলের নামের মতো তথ্য ধারণ করে।

আপনার কম্পিউটারে জাভা রানটাইম এনভায়রনমেন্ট ( জেআরই ) ইনস্টলড ডিরেক্টরিটিতে জাভাওয়াহোম এনভায়রনমেন্ট ভেরিয়েবলটি নির্দেশ করে।


40
একটি সংশোধন: জেভিএহোমকে জেডিকে জেআরই নয় নির্দেশ করা উচিত। অনেক অ্যাপ্লিকেশন পার্থক্যটির বিষয়ে চিন্তা করে না তবে এটি কিছুটির জন্য তাৎপর্যপূর্ণ।
ক্রিস নাভা

4
জেডিকে জেআরই ফোল্ডারটিও পাওয়া যায়। অতএব, জেভিএহোমের সহায়তায় একটি অ্যাপ্লিকেশন জেডিকে পাশাপাশি জেআরই সনাক্ত করতে পারে।
দুর্বৃত্ত ছেলের

@ChrisNava: মনে করে একটি JRE ইনস্টলেশনে JAVA_HOME ইশারা কিছু ক্ষেত্রে বৈধ (অধিকাংশ অ উন্নয়ন ক্ষেত্রে আমি মনে করি হবে): stackoverflow.com/questions/17601827/... । সুতরাং "উচিত" বলা খুব বেশি বলছে।
cic

18

উদ্দেশ্যটি কোথায় জাভা ইনস্টল করা হয়েছে তা নির্দেশ করা। $JAVA_HOME/bin/javaজাভা রানটাইম চালানো উচিত।


4
তবে এটি নির্বোধ, কারণ জাভাটির পথে হওয়া উচিত, এবং বাইনারি নিজেই সনাক্ত করতে পারে এবং আপেক্ষিক পথ ব্যবহার করে অন্যান্য ফাইলগুলি খুলতে পারে।
LtWorf

4
জাভা $ PATH এ না থাকলে এটি কার্যকর হয়, উদাহরণস্বরূপ যখন আপনার একাধিক এসডিকে ইনস্টলেশন থাকে।
হাকন

বাইনারিটির 1 ম আর্গুমেন্ট নিজেই এক্সিকিউটেবলের পুরো নাম, জাভা এর নিজস্ব ডিরেক্টরি খুঁজে পাওয়ার জন্য পথে চলার দরকার হয় না।
LtWorf

@ হাকন যেমন একাধিক জেডিকে স্থাপনের চেষ্টা করছেন, আপনি কেন জাভা চাইবেন না ? উইন্ডোজ কিভাবে জাভা_হোম থেকে জাভা সনাক্ত করবে? আমি ভেবেছিলাম যে পথটি কমবেশি সংজ্ঞায়িত করা হয়েছে "ওএস নির্বাহযোগ্যদের জন্য যে জায়গাগুলির তালিকা দেখবে" তার হিসাবে।
লাস্টস্টার 7007

7

আপনি যখন কোনও জাভা প্রোগ্রাম পরিচালনা করেন আপনার প্রথমে জেভিএম শুরু করা দরকার, সাধারণত এটি একটি এক্সিকিউটেবল চালিয়ে করা হয়, উইন্ডোজে এটি জাভা.এক্সি হয় । আপনি এটি বেশ কয়েকটি উপায়ে পেতে পারেন উদাহরণস্বরূপ কেবল একটি পুরো পথ দেওয়া:

C:\somedir\bin\java.exe

বা এটি আপনার पथপথে থাকতে পারে।

আপনি কমান্ড লাইন আর্গুমেন্ট হিসাবে নির্দিষ্ট করেছেন যা কিছু প্রোগ্রাম ফাইল বা জার ফাইল রয়েছে যা আপনার প্রোগ্রাম হিসাবে ক্লাস ফাইল রয়েছে। তবে এটি যথেষ্ট নয়, জাভা.এক্স.ই.কে নিজেই অন্যান্য বিভিন্ন সংস্থান দরকার, সমস্ত জাভা গ্রন্থাগার নয়। এনভায়রনমেন্ট ভেরিয়েবল JAVA_Home সেট করে আপনি কোথায় জেআরই এবং সেইজন্য run সমস্ত রানটাইম রিসোর্সগুলি খুঁজে পাওয়া যাবে তা নির্দিষ্ট করে দিন। আপনার অবশ্যই নির্ধারণ করা উচিত যে আপনি যে নির্দিষ্ট জাভাটি কার্যকর করেন তা জাভাবাহোমের সেটিংয়ের সাথে মেলে।

আপনারও JAVA_HOME\binআপনার java.exeযাত্রা শুরু করার দরকার হতে পারে যাতে যদি নিজের কোনও অনুলিপি তৈরি হয় (উদাহরণস্বরূপ কোনও জেএসপি সংকলন করতে) এটি সঠিক সংস্করণটি তুলবে।


6

@ দিরাই অনুসারে এখানে JAVA_HOMEজাভা নিজেই ব্যবহার করেন না তবে কয়েকটি তৃতীয় পক্ষের সরঞ্জাম যেমন উদাহরণস্বরূপ অ্যাপাচি টমক্যাট দ্বারা ব্যবহৃত হয় । বেশিরভাগ অ্যাপ্লিকেশনগুলি এই পরিবর্তনশীল সেট না করেই কাজ করবে তবে কিছু অপ্রত্যাশিত আচরণ দেখাতে পারে।


5

JAVA_HOMEএকটি হল এনভায়রনমেন্ট ভেরিয়েবল

এটি বিভিন্ন অপারেটিং সিস্টেমে সেটআপ করতে হবে। নীচের লিঙ্কগুলি দেখুন।

আরো দেখুন এখানে আরও তথ্যের জন্য।


4
আপনি বিবাদ environmentকরছেন path, যা বিভিন্ন জিনিস তবে উইন্ডোজটিতে লিনাক্সের মতো একইভাবে ব্যবহৃত হয়।
Val,

4
@ ওভাল স্রেফ ইঙ্গিত করছে, যেহেতু তার উত্তরে এটি সংশোধন করা হয়েছে।
বারলপ


3

JAVA_HOMEআপনাকে একাধিক জাভা ইনস্টলেশন চালানোর অনুমতি দেয়। আপনি যদি /usr/lib/jvm/java-1.8.0/bin/java আপনার পাথ প্রথম, এটা বলতে পাবে দরকারী JAVA_HOME=/usr/lib/jvm/java-1.5.0এবং ডিফল্ট "জাভা" যার সাহায্যে আপনি চালানোর প্রোগ্রাম অন্যটি ব্যবহার করেন, পরিবর্তে আছে, একটি পরিবেশ সেটিং একটি বিষয় হিসাবে। এটি কোনও প্রোগ্রামারকে তাদের প্রয়োজনীয় জাভা ব্যবহার করার অনুমতি দেয়, যদিও এটি কোনও সাধারণ সিস্টেমের জায়গায় ইনস্টল না করা থাকে এবং সেই বিকল্প সংস্করণটির সাথে পরীক্ষা বা বিপরীত সামঞ্জস্যতা সরবরাহ করে। এবং এটি অন্য ইনস্টল করা প্রোগ্রাম, যেমন জাভা নিজেই জন্য একটি বড় সংস্করণ আপডেটের দ্বারা PATH এ পুনরায় সেট হওয়ার ঝুঁকিপূর্ণ নয়।

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