আমি কীভাবে ম্যাক ওএসএক্স এ জাভা ইনস্টল করব সংস্করণ পরিবর্তন করতে পারি?


312

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

কেবলমাত্র অন্য একটি ইনস্টল আমি দেখতে পেয়েছি যে আরও কিছু কাজ স্বয়ংক্রিয়ভাবে করা হ'ল হোমব্রু ক্যাসকের মাধ্যমে ইনস্টল। এটি দেখতে কেবলমাত্র বর্তমান সংস্করণের মতো দেখাচ্ছে:

brew cask info java

শো:

java: 13,33: 5b8a42f3905b406298b72d750b6919f6
https://openjdk.java.net/

তাই আমি সেখান থেকে এটি ইনস্টল করতে পারি, তবে কি? আমি কি কেবল নতুন সংস্করণে আটকে আছি?


শুধু জিজ্ঞাসা করছি, আমরা কি প্রশ্ন ট্যাগগুলিকে একক সংস্করণে সীমাবদ্ধ রাখতে পারি? যেহেতু কোনও সংস্করণ-নির্দিষ্ট ইনস্টলেশন স্ক্রিপ্ট / পদক্ষেপ নেই। এটি একটি সাধারণ (অ-সংস্করণ নির্দিষ্ট) প্রশ্ন এবং কেবল জাভা -11 এর সাথে ট্যাগ করা যথেষ্ট হতে পারে , যেহেতু আমি ধরে নিয়েছি যে এটি সেই জায়গা যেখানে লোকেরা প্রশ্নোত্তর থেকে কী সন্ধান করতে শুরু করবে answer
নামান

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

আমি সম্ভবত একাধিক জাভা সংস্করণ পরিচালনা করতে জেনভ ব্যবহার করার পরামর্শ দেব
পরানজা

উত্তর:


712

দ্রষ্টব্য: এই সমাধানগুলি জাভা 8 এবং নতুন জাভা 13 সহ জাভা বিভিন্ন সংস্করণের জন্য এবং তালিকাভুক্ত সংস্করণ পরিচালকদের দ্বারা আচ্ছাদিত অন্য কোনও পূর্ববর্তী জাভা সংস্করণের জন্য কাজ করে। এর মধ্যে ওপেনজেডিকে, ওরাকল, আইবিএম, আজুল, অ্যামাজন কর্রেটো, গ্রেয়াল এবং আরও অনেক কিছু থেকে বিকল্প জেডিকে অন্তর্ভুক্ত রয়েছে। জাভা 7, জাভা 8, জাভা 9, জাভা 10, জাভা 11, জাভা 12, এবং জাভা 13 দিয়ে সহজেই কাজ করুন!

JDK স্যুইচিং পরিচালনা করার পাশাপাশি ইনস্টলেশন কীভাবে করবেন তার কয়েকটি বিকল্প আপনার কাছে রয়েছে। হোমব্রিউ, এসডিকেম্যান , জব্বা বা ম্যানুয়াল ইনস্টল দ্বারা ইনস্টলেশন করা যেতে পারে । স্যুইচ করে কাজ করা যেতে পারে JEnv , SDKMAN , Jabba , অথবা নিজে সেটিংস এর দ্বারা JAVA_HOME। এই সমস্ত নীচে বর্ণিত হয়।


স্থাপন

প্রথমে হোমব্রিউ, এসডিকেএমএএন বা টার.gz ফাইলের ম্যানুয়াল ইনস্টল সহ আপনি যে পদ্ধতিটি পছন্দ করেন তা ব্যবহার করে জাভা ইনস্টল করুন। ম্যানুয়াল ইনস্টল করার সুবিধাগুলি হ'ল ম্যাক ওএসএক্সের জন্য জেডিকে অবস্থানটি কোনও মানক স্থানে স্থাপন করা যেতে পারে।

SDKMAN দিয়ে ইনস্টল করুন

এটি একটি সাধারণ মডেল যাতে এটি ইনস্টলেশন ও সংস্করণ উভয় স্যুইচিং পরিচালনা করে, একটি ক্যাভ্যাট সহ এটি জেডিকে একটি অ-মানক ডিরেক্টরিতে ইনস্টল করে।

< নীচের "ইনস্টল করার প্রক্রিয়া এবং স্যুইচিং SDKMAN সঙ্গে সংস্করণ" দেখুন >

জব্বা ব্যবহার করে ইনস্টল করুন

এটি ইনস্টলেশন ও সংস্করণ স্যুইচিং উভয়ই একই সরঞ্জাম দ্বারা পরিচালিত হয় এমন একটি সাধারণ মডেল। ইনস্টলেশনগুলি একটি অ-মানক ডিরেক্টরিতে তৈরি করা হয়।

< নীচে দেখুন "জাব্বার সাথে সংস্করণ ইনস্টল এবং স্যুইচ করুন" >

ওপেনজেডিকে ডাউনলোড পৃষ্ঠা থেকে ম্যানুয়ালি ইনস্টল করুন:

  1. Http://jdk.java.net/ থেকে ম্যাক ওএসএক্সের জন্য ওপেনজেডিকে ডাউনলোড করুন (উদাহরণস্বরূপ জাভা 13 )

  2. ওপেনজেডিকে টার সংরক্ষণাগারভুক্ত করুন এবং ফলাফলটি ফোল্ডারটি (যেমন jdk-13.jdk) আপনার /Library/Java/JavaVirtualMachines/ফোল্ডারে রাখুন কারণ এটি জেডিকে ইনস্টলগুলির মানক এবং প্রত্যাশিত অবস্থান। বাস্তবে আপনি যে কোনও জায়গায় ইনস্টল করতে পারেন।

Homebrew দিয়ে ইনস্টল করুন

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

  1. আপনার যদি ইতিমধ্যে না থাকে তবে হোমব্রিউ ইনস্টল করুন । এটি আপডেট হয়েছে তা নিশ্চিত করুন:

    brew update
  2. ক্যাসকে ট্যাপ যুক্ত করুন, যদি আপনি ইতিমধ্যে না পেয়ে থাকেন (বা আপনি পুরানো জাভা সংস্করণটি # 3 ধাপের সাথে আর দেখতে পাচ্ছেন না):

    brew tap homebrew/cask-versions

    এবং অ্যাডাপ্টওপেনজেডিডি সংস্করণগুলির জন্য, সেই আলতো চাপুন:

    brew tap adoptopenjdk/openjdk

    এই কাস্কগুলি তাদের জাভা সংস্করণগুলি প্রায়শই পরিবর্তন করে এবং অতিরিক্ত জাভা সংস্করণগুলি সহ অন্যান্য ট্যাপগুলি সেখানে থাকতে পারে।

  3. ইনস্টলযোগ্য সংস্করণগুলির জন্য দেখুন:

    brew search java   

    বা অ্যাডাপ্টওপেনজেডিডি সংস্করণগুলির জন্য:

    brew search jdk     
  4. ইনস্টল করা সংস্করণে বিশদটি পরীক্ষা করুন:

    brew cask info java

    বা অ্যাডাপ্টঅপেনজেডিডি সংস্করণটির জন্য:

    brew cask info adoptopenjdk
  5. যেমন JDK এর একটি নির্দিষ্ট সংস্করণ ইনস্টল করুন java11, adoptopenjdk8, বা শুধু javaবা adoptopenjdkবর্তমান জন্য। উদাহরণ স্বরূপ:

    brew cask install java

    আপনি পুরানো সংস্করণগুলিতে সম্পূর্ণরূপে যোগ্যতাসম্পন্ন পাথ ব্যবহার করতে পারেন:

    brew cask install homebrew/cask-versions/java11

এবং এগুলিতে ইনস্টল করা হবে /Library/Java/JavaVirtualMachines/যা ম্যাক ওএসএক্স-তে প্রত্যাশিত isতিহ্যবাহী অবস্থান।

অন্যান্য ইনস্টলেশন বিকল্পগুলি:

ওপেনজেডিকে আরও কিছু স্বাদ হ'ল:

ওপুজডিডি-র অ্যাজুল সিস্টেম জাভা জুলু সার্টিফাইড বিল্ডগুলি তাদের সাইটের নির্দেশাবলী অনুসরণ করে ইনস্টল করা যেতে পারে।

জুলু® ওপেনজেডকে এর একটি প্রত্যয়িত বিল্ড যা জাভা এসই স্ট্যান্ডার্ডের সাথে সম্পূর্ণরূপে মেনে চলে। জুলু 100% মুক্ত উত্স এবং অবাধে ডাউনলোডযোগ্য। এখন জাভা বিকাশকারীগণ, সিস্টেম প্রশাসক এবং শেষ ব্যবহারকারীগণ মোতায়েনের নমনীয়তা এবং আপগ্রেডের সময়কালের নিয়ন্ত্রণের সাথে মুক্ত উত্স জাভার পুরো সুবিধা উপভোগ করতে পারবেন।

অ্যামাজন Correto ওপেনজেডিকে বিল্ডসের 8 ম সংস্করণ বা সংস্করণ 11 (অন্যান্য সংস্করণগুলি আসছে) এর জন্য একটি ইনস্টলেশন প্যাকেজ ব্যবহার করা সহজ এবং ম্যাক ওএসএক্সের স্ট্যান্ডার্ড/Library/Java/JavaVirtualMachines/ডিরেক্টরিতেইনস্টল করা রয়েছে।

অ্যামাজন Corretto একটি ব্যয়বহুল, একাধিক প্ল্যাটফর্ম, ওপেন জাভা ডেভেলপমেন্ট কিটের (ওপেনজেডিকে) উত্পাদন-প্রস্তুত বিতরণ। Corretto দীর্ঘমেয়াদী সমর্থন নিয়ে আসে যার মধ্যে পারফরম্যান্স বৃদ্ধি এবং সুরক্ষা ফিক্স অন্তর্ভুক্ত থাকবে। আমাজন হাজার হাজার উত্পাদন পরিষেবাগুলিতে অভ্যন্তরীণভাবে ক্যারেটো চালায় এবং করেটো জাভা এসই স্ট্যান্ডার্ডের সাথে সামঞ্জস্যপূর্ণ হিসাবে প্রত্যয়িত। Corretto এর সাহায্যে আপনি লিনাক্স, উইন্ডোজ এবং ম্যাকোস সহ জনপ্রিয় অপারেটিং সিস্টেমগুলিতে জাভা অ্যাপ্লিকেশনগুলি বিকাশ ও পরিচালনা করতে পারেন।


আমার জেডি কে কোথায়?!?!

পূর্বে ইনস্টল করা জাভা জে ডি কে-এর ডিফল্ট সিস্টেমের অবস্থানগুলিতে অবস্থিত অবস্থানগুলির সন্ধান করতে, ব্যবহার করুন:

/usr/libexec/java_home -V

জাভা ভার্চুয়াল মেশিনগুলির মিল (6):
13, x86_64: "ওপেনজেডকে 13" / লাইব্রেরি / জাভা / জাভা ভার্চুয়ালম্যাচাইনস / ওপেনজেডক 13.জেডিকি / কনটেন্টস / হোম 12, x86_64: "ওপেনজেডিके 12" / লাইব্রেরি / জাভা / জাভা ভার্চুয়ালম্যাচাইনস / জেডিকে -12 .jdk / বিষয়বস্তু / হোম
11, x86_64: "জাভা SE 11
" / লাইব্রেরি / জাভা / জাভা ভার্চুয়ালম্যাচাইনস / jdk- 11.jdk/Contents/Home 10.0.2 , x86_64: "জাভা SE 10.0.2" / লাইব্রেরি / জাভা / জাভা ভার্চুয়ালম্যাচাইনস /jdk-10.0.2.jdk/Contents/Home
9, x86_64: "জাভা এসই 9
" / লাইব্রেরি / জাভা / জাভা ভার্চুয়ালম্যাচাইনস / জেডকি- 9.জেডকে / কনটেন্টস / হোম 1.8.0_144, x86_64: "জাভা এসই 8" / লাইব্রেরি /Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home

আপনি নির্দিষ্ট জাভা সংস্করণ ব্যবহার করে কেবলমাত্র অবস্থানের প্রতিবেদন করতে পারেন -v। উদাহরণস্বরূপ জাভা 13:

/usr/libexec/java_home -v 13

/Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home

জেএনভের মতো সরঞ্জামগুলি ব্যবহার করার সময়, বা এসডিকেএমএনে একটি স্থানীয় ইনস্টল যুক্ত করার সময়, বা জব্বায় একটি সিস্টেম জেডিকে সংযুক্ত করার সময় ইনস্টল করা জেডিকে-র অবস্থান সম্পর্কে জানাও দরকারী and

আপনি যদি অন্য সরঞ্জাম দ্বারা জেডিকে ইনস্টলড সন্ধান করতে চান তবে এই অবস্থানগুলি পরীক্ষা করুন:

  • SDKMAN এ ইনস্টল করে ~/.sdkman/candidates/java/
  • জব্বা ইনস্টল করে ~/.jabba/jdk

ম্যানুয়ালি সংস্করণে স্যুইচিং

জাভা এক্সিকিউটেবল এমন একটি মোড়ক যা জেডিকে কনফিগার করা যা কিছু ব্যবহার করবে JAVA_HOMEতাই আপনি এটি পরিবর্তন করতে পারেন যা কোন জেডিকে ব্যবহার করছে তাও পরিবর্তন করতে।

উদাহরণস্বরূপ, আপনি যদি JDK 13 ইনস্টল করেন বা অনারত করেন /Library/Java/JavaVirtualMachines/jdk-13.jdkযদি এটি সর্বাধিক সংস্করণ নম্বর হয় তবে এটি ইতিমধ্যে ডিফল্ট হওয়া উচিত, যদি না আপনি কেবল সেট করতে পারেন:

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home

এবং এখন যা জাভা এক্সিকিউটেবলের পথে রয়েছে তা এটি দেখতে পাবে এবং সঠিক জেডিকে ব্যবহার করবে।

/usr/libexec/java_homeপূর্বে বর্ণিত হিসাবে ইউটিলিটিটি ব্যবহার করে আপনাকে বিভিন্ন জেডিকে ইনস্টলেশনের অবস্থানগুলি সনাক্ত করে জাফরান সংস্করণ পরিবর্তন করার জন্য কমনীয়তা তৈরি করতে বা এলিয়াস তৈরি করতে সহায়তা করতে পারে। উদাহরণস্বরূপ, আপনার মধ্যে শেল এলিয়াস তৈরি করা .profileবা আপনার .bash_profileজন্য পরিবর্তন JAVA_HOMEকরা:

export JAVA_8_HOME=$(/usr/libexec/java_home -v1.8)
export JAVA_9_HOME=$(/usr/libexec/java_home -v9)
export JAVA_10_HOME=$(/usr/libexec/java_home -v10)
export JAVA_11_HOME=$(/usr/libexec/java_home -v11)
export JAVA_12_HOME=$(/usr/libexec/java_home -v12)
export JAVA_13_HOME=$(/usr/libexec/java_home -v13)

alias java8='export JAVA_HOME=$JAVA_8_HOME'
alias java9='export JAVA_HOME=$JAVA_9_HOME'
alias java10='export JAVA_HOME=$JAVA_10_HOME'
alias java11='export JAVA_HOME=$JAVA_11_HOME'
alias java12='export JAVA_HOME=$JAVA_12_HOME'
alias java13='export JAVA_HOME=$JAVA_13_HOME'

# default to Java 13
java13

তারপরে সংস্করণগুলি পরিবর্তন করতে, কেবলমাত্র নামটি ব্যবহার করুন।

java8
java -version

জাভা সংস্করণ "1.8.0_144"

অবশ্যই, সেটিং JAVA_HOMEম্যানুয়ালি খুব কাজ করে!


জেএনভের সাথে সংস্করণগুলি স্যুইচ করা

জেএনভি জাভা জেডিকে মেশিনে ইতিমধ্যে উপস্থিত থাকতে পারে এবং যে কোনও স্থানে থাকতে পারে বলে প্রত্যাশা করে। সাধারণত আপনি জাভা জেডিকে ইনস্টল পাবেন/Library/Java/JavaVirtualMachines/। জেএনভ জাভার গ্লোবাল সংস্করণ, বর্তমান শেলের জন্য একটি এবং প্রতি ডিরেক্টরি ডিরেক্টরি স্থানীয় সংস্করণ সেট করার অনুমতি দেয় যা কিছু প্রকল্পের অন্যদের তুলনায় বিভিন্ন সংস্করণের প্রয়োজন হয়।

  1. জেনভ ইনস্টল করুন যদি আপনার ইতিমধ্যে না থাকে তবে ম্যানুয়াল ইনস্টল করতে বা হোমব্রিউ ব্যবহারের জন্য http://www.jenv.be/ সাইটে নির্দেশাবলী ।

  2. জেএনভিতে যে কোনও জাভা সংস্করণ যুক্ত করুন ( ডিরেক্টরিটি অন্য কোথাও রাখলে এটি সমন্বয় করুন ):

    jenv add /Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home
  3. এই কমান্ডটি ব্যবহার করে আপনার বৈশ্বিক সংস্করণ সেট করুন:

    jenv global 13

আপনি jenv addএকইভাবে ব্যবহার করে অন্যান্য বিদ্যমান সংস্করণগুলি যুক্ত করতে পারেন এবং যেগুলি উপলভ্য রয়েছে তাদের তালিকা করতে পারেন। উদাহরণস্বরূপ জাভা 8:

jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_144.jdk/Contents/Home 
jenv versions

দেখুন JEnv ডক্স আরো কমান্ড জন্য। আপনি এখন যে কোনও জাভা সংস্করণ (ওরাকল, ওপেনজেডিকে, অন্যান্য) এর মধ্যে যে কোনও সময় পুরো সিস্টেমের জন্য, শাঁসের জন্য, বা প্রতি স্থানীয় ডিরেক্টরিতে স্যুইচ করতে পারেন।

JAVA_HOMEজেএনভ ব্যবহার করার সময় পরিচালনা করতে সহায়তা করতে আপনি এটি করতে এক্সপোর্ট প্লাগইন যুক্ত করতে পারেন।

$ jenv enable-plugin export
  You may restart your session to activate jenv export plugin echo export plugin activated

JAVA_HOMEএটি ইতিমধ্যে সেট করা থাকলে রফতান প্লাগইনটি সামঞ্জস্য করতে পারে না , তাই আপনার প্রোফাইলে আপনাকে এই ভেরিয়েবলটি সাফ করার প্রয়োজন হতে পারে যাতে এটি জেএনভি দ্বারা পরিচালিত হতে পারে।

আপনি jenv exec <command> <parms...>একক কমান্ড চালাতে JAVA_HOMEএবং PATHসেই এক কমান্ডের জন্য সঠিকভাবে সেট করতে ব্যবহার করতে পারেন, যার মধ্যে অন্য শেল খোলার অন্তর্ভুক্ত থাকতে পারে।


SDKMAN সহ সংস্করণ ইনস্টল করা এবং স্যুইচ করা

SDKMAN কিছুটা আলাদা এবং ইনস্টল এবং স্যুইচিং উভয়ই পরিচালনা করে। SDKMAN ইনস্টল করা জেডিকে এর নিজস্ব ডিরেক্টরি ট্রিতে রাখে, যা সাধারণত~/.sdkman/candidates/java। SDKMAN গ্লোবাল ডিফল্ট সংস্করণ এবং বর্তমান শেলের সাথে নির্দিষ্ট একটি সংস্করণ সেট করার অনুমতি দেয়।

  1. থেকে SDKMAN ইনস্টল করুন https://sdkman.io/install

  2. আপনি যে সংস্করণ আইডি জানেন তা নিশ্চিত করার জন্য উপলব্ধ জাভা সংস্করণগুলির তালিকা করুন

    sdk list java
  3. এই সংস্করণগুলির মধ্যে একটি ইনস্টল করুন, উদাহরণস্বরূপ, জাভা 13:

    sdk install java 13.0.0-open 
  4. 13 টি ডিফল্ট সংস্করণ করুন:

    sdk default java 13.0.0-open

    বা সেশনের জন্য 13 এ স্যুইচ করুন:

    sdk use java 13.0.0-open

আপনি যখন তালিকাটি কমান্ডটি ব্যবহার করে ইনস্টলেশনের জন্য উপলভ্য সংস্করণগুলি তালিকাভুক্ত করেন, আপনি জাভা বিস্তৃত বিভিন্ন বিতরণ দেখতে পাবেন:

sdk list java

এবং অতিরিক্ত সংস্করণগুলি ইনস্টল করুন, যেমন জেডিকে 8:

sdk install java 8.0.181-oracle

SDKMAN পূর্ববর্তী ইনস্টল থাকা বিদ্যমান সংস্করণগুলির সাথে কাজ করতে পারে। স্থানীয় সংস্করণটিকে নিজের সংস্করণ লেবেল এবং জেডিকের অবস্থান প্রদান করুন:

sdk install java my-local-13 /Library/Java/JavaVirtualMachines/jdk-13.jdk/Contents/Home

এবং অবাধে এটি ব্যবহার করুন:

sdk use java my-local-13

আরও তথ্য এসডিকেএমএএন ব্যবহারের গাইডের সাথে অন্যান্য এসডিকে এর সাথে ইনস্টল ও পরিচালনা করতে পারে।

আপনি সংস্করণ পরিবর্তন করার সাথে সাথে SDKMAN স্বয়ংক্রিয়ভাবে আপনার PATHএবং আপনার JAVA_HOMEজন্য পরিচালনা করবে ।


জাব্বার সাথে সংস্করণ ইনস্টল এবং স্যুইচিং

জাব্বা ইনস্টল এবং স্যুইচিং উভয়ই পরিচালনা করে। জাব্বা ইনস্টলড জেডিকে'র নিজস্ব ডিরেক্টরি ট্রিতে রাখে, যা সাধারণত~/.jabba/jdk

  1. হোম পৃষ্ঠায় নির্দেশাবলী অনুসরণ করে জব্বা ইনস্টল করুন ।

  2. জেডিকে-র তালিকা উপলব্ধ

    jabba ls-remote
  3. জাভা জেডিকে 12 ইনস্টল করুন

    jabba install openjdk@1.12.0
  4. এটা ব্যবহার করো:

    jabba use openjdk@1.12.0

আপনি সংস্করণটির নামও রাখতে পারেন, বিদ্যমান জেডিকে ইতিমধ্যে ইনস্টল থাকা এর সাথে লিঙ্ক করতে পারেন এবং গ্রেয়ালভিএম, অ্যাডাপ্ট জেডিকে, আইবিএম জেডিকে এবং আরও অনেক কিছুর মতো আকর্ষণীয় জেডিকে মিশ্রণ পেতে পারেন। সম্পূর্ণ ব্যবহারের গাইডটি হোম পৃষ্ঠায়ও উপলভ্য।

আপনি সংস্করণ পরিবর্তন করার সাথে সাথে জাব্বা স্বয়ংক্রিয়ভাবে আপনার PATHএবং আপনার JAVA_HOMEজন্য পরিচালনা করবে ।


2
ম্যানুয়াল ইনস্টল করার জন্য আমি মনে করি আপনাকে JAVA_HOMEএকটি নির্দিষ্ট সংস্করণ নির্বাচন করার জন্য সেট করতে হবে যা export JAVA_HOME=$(/usr/libexec/java_home -v <version>)আপনার মতো.bash_profile
পিটার হাল ২

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

বেশ সম্মত, আপনি যদি উত্তরটিতে সংস্করণ স্যুইচিং এবং সেটিং সেট করার জন্য জিজ্ঞাসিত মূল প্রশ্ন হিসাবে জবাবদিহি করতে পারেন তবে ম্যানুয়াল ইনস্টল পদ্ধতির জন্য এটি করার একমাত্র উপায় (কেবল?) উপায়টিই ভাল would
পিটার হাল

2
জাভা কাঁচে জাভা গতকাল, অক্টোবর 3, 2018
জিংং হুয়াং

16
ম্যাকওএসে বিভিন্ন জেডিকে চালানোর পক্ষে সম্ভবত সবচেয়ে বিস্তৃত এবং দরকারী জবাব, যা বিভিন্ন ধরণের পন্থা coveringেকে রাখে, এমন কিছু আমি আগে কখনও আসতে পারিনি।
কেভিন হুক

7

এইভাবে আমি এটি করেছি।

পদক্ষেপ 1: জাভা 11 ইনস্টল করুন

আপনি এখানে থেকে ম্যাকের জন্য জাভা 11 ডিএমজি ডাউনলোড করতে পারেন: https://www.oracle.com/technetwork/java/javase/downloads/jdk11-downloads-5066655.html

পদক্ষেপ 2: জাভা ইনস্টলেশন 11 পরে সমস্ত সংস্করণ ইনস্টলেশন নিশ্চিত করুন। আপনার টার্মিনালে নিম্নলিখিত কমান্ডটি টাইপ করুন।

/usr/libexec/java_home -V

পদক্ষেপ 3: সম্পাদনা করুন। ব্যাশ_ প্রোফাইল

sudo nano ~/.bash_profile

পদক্ষেপ 4: 11.0.1 ডিফল্ট হিসাবে যুক্ত করুন। (নীচে লাইন bash_ প্রোফাইলে ফাইল যোগ করুন)।

export JAVA_HOME=$(/usr/libexec/java_home -v 11.0.1)

যে কোনও সংস্করণে স্যুইচ করতে

export JAVA_HOME=$(/usr/libexec/java_home -v X.X.X)

বাশ থেকে প্রস্থান করতে এখন CTRL + X টিপুন। পরিবর্তনগুলি সংরক্ষণ করতে 'Y' টিপুন।

পদক্ষেপ 5: পুনরায় লোড করুন ব্যাশ_ প্রোফাইল

source ~/.bash_profile

পদক্ষেপ:: জাভার বর্তমান সংস্করণটি নিশ্চিত করুন

java -version

সুন্দর সমাধান। তবে এখনও জাভা-রূপান্তরটি যদি আমি জাভাআহোম 11 ১১ রফতানি করে 8 টি নির্দেশ করে?
অ্যালেক্সগেরা

1
প্রশ্নটি ওপেন জেডিকে সম্পর্কে জিজ্ঞাসা করছে, তবে আপনি তার পরিবর্তে ওরাকল জেডিকে যুক্ত করেছেন। ওপেন জেডিকে কোনও ইনস্টলার বা ইনস্টলেশন নির্দেশনা রয়েছে বলে মনে হয় না।
স্প্লাক্টার

1
@ অ্যালেক্সগেরার প্রতিক্রিয়ায় - এই লাইনটি যুক্ত করুন: রফতানি করুন $ PATH = $ জাভাহোম / বিন: AT পাঠ
ফুয়াদ এফেন্দি

6

তৃতীয় পক্ষের সরঞ্জামগুলি ছাড়াই ম্যানুয়ালি সিস্টেম-ডিফল্ট সংস্করণ স্যুইচ করা হচ্ছে:

এই পুরানো উত্তরে যেমন বর্ণনা করা হয়েছে /usr/bin/javaতেমন , ম্যাকোস- এ একটি মোড়কের সরঞ্জাম যা জাভা সংস্করণটি নির্দেশিত দ্বারা চিহ্নিত করা হয় JAVA_HOMEবা যদি সেই চলকটি সেট না করা থাকে তবে এটি জাভা ইনস্টলেশনগুলির অধীনে সন্ধান /Library/Java/JavaVirtualMachines/করবে এবং সর্বোচ্চ সংস্করণ সহ একটিটি ব্যবহার করবে। এটি Contents/Info.plistপ্রতিটি প্যাকেজের অধীনে সংস্করণগুলি নির্ধারণ করে ।

আপনি এই জ্ঞান দিয়ে সজ্জিত করতে পারেন:

  • Info.plistআপনি ডিফল্ট হিসাবে ব্যবহার করতে চান না এমন সংস্করণগুলির নাম পরিবর্তন করে সিস্টেমটি কোন সংস্করণটি ব্যবহার করবে তা নিয়ন্ত্রণ করুন (সেই ফাইলটি আসল জাভা রানটাইম নিজেই ব্যবহার করে না)।
  • সেট করে নির্দিষ্ট কাজের জন্য কোন সংস্করণটি ব্যবহার করতে হবে তা নিয়ন্ত্রণ করুন $JAVA_HOME

আমি সবেমাত্র যাচাই করেছি ওপেনজেডিকে এবং মোজাভেতে এটি এখনও সত্য।

একেবারে নতুন সিস্টেমে জাভা সংস্করণ ইনস্টল করা নেই:

$ java -version
No Java runtime present, requesting install.

এটি বাতিল করুন, ওপেনজেডিকে 11 & 12ea https://jdk.java.net এ ডাউনলোড করুন ; OpenJDK11 ইনস্টল করুন:

$ cd /Library/Java/JavaVirtualMachines/
$ sudo tar xzf ~/Downloads/openjdk-11.0.1_osx-x64_bin.tar.gz

সিস্টেম জাভা এখন 11:

$ java -version
openjdk version "11.0.1" 2018-10-16
[...]

ওপেনজেডিকে 12 ইনস্টল করুন (এই মুহুর্তে প্রাথমিক অ্যাক্সেস):

$ sudo tar xzf ~/Downloads/openjdk-12-ea+17_osx-x64_bin.tar.gz 

সিস্টেম জাভা এখন 12:

$ java -version
openjdk version "12-ea" 2019-03-19
[...]

এখন সিস্টেম জাভা মোড়ক থেকে ওপেনজেডকে 12 কে "আড়াল করুন":

$ cd jdk-12.jdk/Contents/
$ sudo mv Info.plist Info.plist.disabled

সিস্টেম জাভা 11 এ ফিরে এসেছে:

$ java -version
openjdk version "11.0.1" 2018-10-16
[...]

এবং আপনি ম্যানুয়ালি সেট করে 12 টি নিয়মিত সংস্করণ ব্যবহার করতে পারেন JAVA_HOME:

$ export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk-12.jdk/Contents/Home
$ java -version
openjdk version "12-ea" 2019-03-19
[...]

1
এবং এটি এখনই ঠিক হওয়া উচিত অ্যাডাপ্টওপেনজেডিডি বিল্ডসের
হিউজ এম।

6

আপনার মেশিনে যদি একাধিক সংস্করণ ইনস্টল করা থাকে তবে ব্যাশ প্রোফাইলে নিম্নলিখিতটি যুক্ত করুন:

JAVA_HOME_7 = $ রফতানি করুন (/ ইউএসআর / লিবেক্সেক / জাভা_হোম -v1.7)

JAVA_HOME_8 = $ রফতানি করুন (/ ইউএসআর / লিবেক্সেক / জাভা_হোম -v1.8)

JAVA_HOME_9 = export রফতানি করুন (/ ইউএসআর / লিবেক্সেক / জাভা_হোম-ভি 9)

এবং নিম্নলিখিত উপকরণ যুক্ত করুন:

ওরফে জাভা = = 'রফতানি করুন জাভা_হোম = $ জাভাআহোম_০' '

ওরফে জাভা 8 = 'রফতানি করুন জাভা_হোম = $ জাভাআহম_২০'

ওরফে জাভা 9 = 'রফতানি করুন জাভা_হোম = $ জাভাআহোম_৯৯'

এবং উপন্যাসটি ব্যবহার করে প্রয়োজনীয় সংস্করণে স্যুইচ করতে পারেন:

টার্মিনালে:

~ >> java7 export JAVA_HOME=$JAVA_7_HOME


হ্যাঁ, এটি এখানে অন্য উত্তরে wasাকা ছিল।
জয়সন মিনার্ড

3

আর একটি বিকল্প SDKMAN ব্যবহার করছে ! Https://wimdeblauwe.wordpress.com/2018/09/26/switching-between-jdk-8-and-11- using- sdkman/ দেখুন

প্রথমে SDKMAN ইনস্টল করুন: https://sdkman.io/install এবং তারপরে ...

  1. এর সাথে ওরাকল জেডিকে 8 ইনস্টল করুন: sdk install java 8.0.181-oracle
  2. এর সাথে ওপেনজেডকে ১১ ইনস্টল করুন: sdk install java 11.0.0-open

বদলাতে:

  • জেডিকে 8 এ স্যুইচ করুন sdk use java 8.0.181-oracle
  • JDK 11 এ স্যুইচ করুন sdk use java 11.0.0-open

একটি ডিফল্ট সেট করতে:

  • জেডিকে 8 এর সাথে ডিফল্ট sdk default java 8.0.181-oracle
  • JDK 11 এর সাথে ডিফল্ট sdk default java 11.0.0-open

3

হোমব্রিউ এবং জেনভ সহ:

অনুমান: ম্যাক মেশিন এবং আপনি ইতিমধ্যে হোমব্রু ইনস্টল করেছেন।

ক্যাস্ক ইনস্টল করুন:

$ brew tap caskroom/cask
$ brew tap caskroom/versions

সর্বশেষতম জাভা ইনস্টল করতে:

$ brew cask install java

জাভা 8 ইনস্টল করতে:

$ brew cask install java8

জাভা 9 ইনস্টল করতে:

$ brew cask install java9

আপনি যদি একাধিক সংস্করণ ইনস্টল / পরিচালনা করতে চান তবে আপনি 'জেনভ' ব্যবহার করতে পারেন:

জেনভ ইনস্টল এবং কনফিগার করুন:

$ brew install jenv
$ echo 'export PATH="$HOME/.jenv/bin:$PATH"' >> ~/.bash_profile
$ echo 'eval "$(jenv init -)"' >> ~/.bash_profile
$ source ~/.bash_profile

জেনভে ইনস্টল করা জাভা যুক্ত করুন:

$ jenv add /Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home
$ jenv add /Library/Java/JavaVirtualMachines/jdk1.11.0_2.jdk/Contents/Home

সমস্ত ইনস্টল করা জাভা দেখতে:

$ jenv versions

উপরের কমান্ডটি ইনস্টল করা জাভাগুলির তালিকা দেবে:

* system (set by /Users/lyncean/.jenv/version)
1.8
1.8.0.202-ea
oracle64-1.8.0.202-ea

আপনি যে জাভা সংস্করণটি ব্যবহার করতে চান তা কনফিগার করুন:

$ jenv global oracle64-1.6.0.39

1
Error: caskroom/cask was moved. Tap homebrew/cask-cask instead, তারপরেfatal: repository 'https://github.com/Homebrew/homebrew-cask-cask/' not found
ChumiestBucket

@ কিমিস্টবকেট কী বলেছিল - এই সমাধানটির একাধিক সমস্যা রয়েছে
জাভদ্বা

1

আইএমএইচও, অতিরিক্ত সমস্ত অ্যাপ্লিকেশন / প্যাকেজ ইনস্টল করার দরকার নেই।

কমান্ডটি ব্যবহার করে উপলভ্য সংস্করণগুলি পরীক্ষা করুন:

> /usr/libexec/java_home -V
Matching Java Virtual Machines (8):
    11, x86_64: "Java SE 11-ea" /Library/Java/JavaVirtualMachines/jdk-11.jdk/Contents/Home
    10.0.2, x86_64: "Java SE 10.0.2"    /Library/Java/JavaVirtualMachines/jdk-10.0.2.jdk/Contents/Home
    9.0.1, x86_64:  "Java SE 9.0.1" /Library/Java/JavaVirtualMachines/jdk-9.0.1.jdk/Contents/Home
    1.8.0_181-zulu-8.31.0.1, x86_64:    "Zulu 8"    /Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home
    1.8.0_151, x86_64:  "Java SE 8" /Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home
    1.7.0_80, x86_64:   "Java SE 7" /Library/Java/JavaVirtualMachines/jdk1.7.0_80.jdk/Contents/Home
    1.6.0_65-b14-468, x86_64:   "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home
    1.6.0_65-b14-468, i386: "Java SE 6" /Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home

এখন আপনি যদি উপরের তালিকায় আজুল জেডিকে 8 বাছাই করতে চান এবং ওরাকলের জাভা এসই 8 নয়, নীচের মত আদেশটি অনুরোধ করুন:

> /usr/libexec/java_home -v 1.8.0_181
/Library/Java/JavaVirtualMachines/zulu-8.jdk/Contents/Home

ওরাকল এর জাভা এসই 8 বেছে নিতে আপনি কমান্ডটি গ্রহণ করবেন:

> /usr/libexec/java_home -v 1.8.0_151
/Library/Java/JavaVirtualMachines/jdk1.8.0_151.jdk/Contents/Home

আপনি দেখতে পাচ্ছেন যে সংস্করণ নম্বরটি দেওয়া থাকবে তা স্ট্রিংগুলির একটি অনন্য সেট হবে: 1.8.0_181 বনাম 1.8.0_151


প্রথম উদাহরণটির একটি সংস্করণ স্ট্রিং থাকা উচিত নয় 1.8.0_181-zulu-8.31.0.1? নাকি এটি আংশিক মিলছে?
জেসন মিনার্ড

এটি জাভার সংস্করণ ব্যবহার করতে আসলে কোনও পরিবর্তন করে না, এটি কেবলমাত্র অবস্থানটির প্রতিবেদন করে JAVA_HOME। এই কমান্ডগুলি ব্যবহার করে ম্যানুয়াল স্যুইচিং আমার অন্যান্য উত্তরে isাকা রয়েছে।
জেসন মিনার্ড
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.