ওএস এক্সে জাভা 7 এবং 8 এর মধ্যে স্যুইচিং


25

আমি জাভা -8 ইনস্টল করেছি। এখন আমি জাভা-7 এ ফিরে যেতে চেয়েছিলাম ডিফল্ট হিসাবে তাই আমি টাইপ করি ...

/usr/libexec/java_home -v 1.7.0_40 --exec java -version
/usr/libexec/java_home -v 1.7.0_40 --exec javac -version

তবে আমি এখনও দেখছি ...

java -version
java version "1.8.0-ea"
Java(TM) SE Runtime Environment (build 1.8.0-ea-b108)
Java HotSpot(TM) 64-Bit Server VM (build 25.0-b50, mixed mode)

এটি কাজ করে ...

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.7.0_40.jdk/Contents/Home

তবে আমি আরও স্থায়ী সমাধান চাই।

কেউ কি দেখছে আমি ভুল করছি?

উত্তর:


50

সহজেই সংস্করণগুলি স্যুইচ করুন

  1. যে কোনও ক্রমে 1.6, 1.7, 1.8 সংস্করণ ইনস্টল করুন। দ্রষ্টব্য: আমি বিশ্বাস করি যে ইনস্টল করা শেষটি নির্ধারণ করে যে কোনটি ব্রাউজার প্লাগইনগুলির জন্য ব্যবহৃত হবে, আমি নীচের সেগুলি পরিবর্তন করার বিষয়ে যত্ন নিচ্ছি না।

  2. তারপর, আপনার যোগ ~/.bashrcবা ~/.bash_profile, বা যেখানেই:

    #!/bin/bash
    export JAVA_HOME=$(/usr/libexec/java_home -v 1.7)
    
    setjdk() {
       export JAVA_HOME=$(/usr/libexec/java_home -v $1)
    }
    
  3. এর মাধ্যমে পরিবর্তনটি যাচাই করুন java -version

    $ java -version
    java version "1.7.0_51"
    Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 24.51-b03, mixed mode)
    
    $ setjdk 1.6
    $ java -version
    java version "1.6.0_65"
    Java(TM) SE Runtime Environment (build 1.6.0_65-b14-462-11M4609)
    Java HotSpot(TM) 64-Bit Server VM (build 20.65-b04-462, mixed mode)
    
    $ setjdk 1.8
    $ java -version
    java version "1.8.0"
    Java(TM) SE Runtime Environment (build 1.8.0-b132)
    Java HotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)
    

স্পষ্টতই পরিবর্তনটি কেবল শেলের সময়কালের জন্য। তবে আপনি এখন এটি বিশ্বব্যাপী কোথায় সেট করতে পারবেন তা দেখতে পাবেন।


2
একটি সমস্যা: আপনার যদি ইতিমধ্যে জেডিকে 8 থাকে তবে জেডিকে 7 ইনস্টল করতে অস্বীকার করেছে। এটি আপনাকে আরও 404 দেয় এমন আরও তথ্যের জন্য oracle.com- এর একটি ইউআরএলকে নির্দেশ করে And
এরিক ডব্লিউ

1
মাত্র jenv jenv.be
madzohan

9

আপনি জেএনভি ( http://www.jenv.be/ ) ব্যবহার করতে পারেন , যা "JDK- র বিভিন্ন সংস্করণের মধ্যে স্যুইচ করতে JAVA_Home পরিবেশের পরিবর্তনশীল সেট করতে হবে তা ভুলে যেতে আপনাকে সহায়তা করার জন্য একটি কমান্ড লাইন সরঞ্জাম" (প্রকল্পের হোমপেজ থেকে নেওয়া) )।

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


আপনি এই উপর প্রসারিত করতে পারেন? এটি কোনও মন্তব্যের মতো দেখাচ্ছে, উত্তর নয়।
অস্টিন টি ফরাসী

আপনি যদি রুবির সাথে পরিচিত হন তবে বর্তমান জাভা সংস্করণটি পরিবর্তনের জন্য বর্তমান ডিরেক্টরীতে বা কোনও কনফিগারেশন ফাইলের উপর ভিত্তি করে আরভিএম বা আরবিএনভ ব্যবহার করার মতো like আপনি জেএনভি হোম পেজে গেলে একটি ভাল টিউটোরিয়াল থাকে।
পিট্রো ডি বেলো

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

আমি আরও তথ্য যুক্ত করেছি এবং উত্তরটি কিছুটা প্রসারিত করেছি ... আশা করি এটি এখন আরও ভাল দেখায়। সাহায্য করার জন্য ধন্যবাদ.
পিট্রো ডি বেলো

4

আপনি জাভা-সংস্করণগুলির মধ্যে স্যুইচ করতে পারবেন না। ইন ডকুমেন্টেশন আপনি দেখুন:

একবারে কেবল একটি জেআরই ইনস্টল করা যাবে। সিস্টেমটি একটি জেআরই ইনস্টল করবে না যার বর্তমান সংস্করণটির চেয়ে কম সংস্করণ রয়েছে। আপনি যদি জেআরই এর নিম্ন সংস্করণ ইনস্টল করতে চান তবে প্রথমে বর্তমান সংস্করণটি আনইনস্টল করুন।

আপনি যদি পুরানো সংস্করণে ফিরে যেতে চান তবে আপনাকে জাভা 8 আনইনস্টল করতে হবে ।


grrr ধন্যবাদ তবে এটি OSX সম্পর্কে আমার মতামতকে সহায়তা করে না।
জ্যাকি

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

@ আলেসান্দ্রো ভার্মুলিন সকল প্রকার সম্মান সহকারে এটি "ইনস্টলার" হেক না, আমি আশা করি এটি আমার লিনাক্স বাক্সগুলির মতো প্রাক সংস্করণ সহ কোনও সংস্করণ না নিয়ে আসে। তারপরে আমি ইউনিক্স বাইনারি দিয়ে যাই হোক না কেন এটি "ইনস্টল" করতে পারি। এবং তারপরে ওএসএক্সের পুরানো সংস্করণগুলি ছিল যেখানে এটি বুট করার জন্য এমনকি প্রয়োজনীয় ছিল। আইএমএইচও এটি হ'ল ওএসএক্সে ব্যবহৃত কনভেনশনগুলি যা সমস্যার সৃষ্টি করে।
জ্যাকি

4
আমার মেশিনে একাধিক জেডিকে সঠিকভাবে ইনস্টল করা আছে এটি ওরাকলসের পছন্দসই প্লাগইন যা 1.8 থেকে 1.7 পর্যন্ত স্যুইচ করতে দেয় না, পুরো পথ দিয়ে কমান্ড লাইন থেকে তারা সবাই সফলতার সাথে কাজ করে। / ইউএসআর / লিবেক্সেক / জাভা_হোম-ভি তাদের সকলকে তালিকাভুক্ত করে - এবং জাভা 7 অগ্রাধিকার ফলকটি জাভা 7 জেআরই নির্বাচনের অনুমতি দিয়েছে
ব্যবহারকারী 151019

0

আমি @ এনকেডওয়ার উত্তরটি পরিপূরক করতে চাই। তার পরামর্শটি কার্যকর হয়েছিল, তবে কেবল কারেন্টএসডিকে সিমলিংক পরিবর্তন করার পরে। সুতরাং এখানে সংশোধিত কোড:

setjdk() {
    export JAVA_HOME=$(/usr/libexec/java_home -v $1)
    sudo ln -nsf ${JAVA_HOME%/*} /System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK
}
setjdk 1.8
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.