ডিফল্ট জাভা সংস্করণটি কীভাবে সেট করবেন?


122

আমি এই প্রশ্নে বর্ণিত সমস্ত নির্দেশনা অনুসরণ করেছি , তবে এর শেষ অংশটি নিয়ে কিছু সমস্যার মুখোমুখি হয়েছি।

আমার কাছে জাভাটির 6.22 সংস্করণ রয়েছে এবং এটি 6.30 সংস্করণে আপডেট করতে চাই।

সুতরাং নিষ্কাশিত ডিরেক্টরির চলন্ত পর java-6-oracleমধ্যে /usr/lib/jvmআমি কি করতে স্ক্রিপ্ট যে জাভা 6 জাভা 5 থেকে আপডেট উপরে উত্তর নির্দিষ্ট করা হয় যেহেতু জানি না।

স্বচ্ছতার জন্য এখানে আউটপুট দেওয়া যদি আমি lsদির সাথে একটি করি /usr/lib/jvm:

$ ls -l /usr/lib/jvm
total 8 
lrwxrwxrwx  1 root root   14 2011-07-12 15:18 default-java -> java-6-openjdk
lrwxrwxrwx  1 root root   14 2011-07-12 12:19 java-1.6.0-openjdk -> java-6-openjdk 
drwxr-xr-x 10 root root 4096 2012-04-12 12:06 java-6.31-oracle 
drwxr-xr-x  7 root root 4096 2012-02-24 14:43 java-6-openjdk

আমার এখন কি করা উচিত?


অংশ যোগ করুন

@ ফসফ্রিডম এর পরামর্শ অনুসারে আমি স্ক্রিপ্টটি যাইহোক চালিয়েছি এবং এটি জাভা সংস্করণটিকে আপডেট করেছে।

আসলে আমি কমান্ড java -versionআউটপুট চালানো হলে নিম্নলিখিত হবে:

$ java -version
java version "1.6.0_31"
Java(TM) SE Runtime Environment (build 1.6.0_31-b04)
Java HotSpot(TM) Server VM (build 20.6-b01, mixed mode)

নেই এখনও কোন সমস্যা , যদি Irun javac -versionএটা আমার ইনস্টল পুরোনো সংস্করণ দেয়:

$ javac -version
javac 1.6.0_22

এবং আমি যদি এই লিঙ্কটিতে পরীক্ষক ব্যবহার করি তবে এটি আমাকে জানাবে যে সংস্করণটি

Java Version 1.6.0_22 from Sun Microsystems Inc.

কি ভুল হচ্ছে?

দেখে মনে হচ্ছে জাভা রানটাইম এনভায়রনমেন্ট আপডেট হয়েছে তবে ব্রাউজারের জন্য জাভা কম্পাইলার এবং জাভা প্লাগইন নেই।

কীভাবে সেগুলি আপডেট করব?


অন্য অংশ যোগ করুন

sudo update-alternatives --config java নিম্নলিখিত আউটপুট ফিরে আসবে

$ sudo update-alternatives --config java
There are 2 choices for the alternative java (providing /usr/bin/java).

  Selection    Path                                      Priority   Status
------------------------------------------------------------
* 0            /usr/lib/jvm/java-6.31-oracle/bin/java     1062      auto mode
  1            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      manual mode
  2            /usr/lib/jvm/java-6.31-oracle/bin/java     1062      manual mode

Press enter to keep the current choice[*], or type selection number:

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

কোন ধারনা?


@ ফসফ্রিডম আমি এটিকে চেষ্টা করে দেখিনি কারণ আমি ভেবেছিলাম যে এটি জাভা ৫ থেকে 6 থেকে আপলোড করার জন্য স্পষ্টভাবে লেখা হয়েছে, তা কি ভাল ধারণা ছিল না, যাইহোক, আমার কি হওয়া উচিত?
মাত্তিও

1
এইচএমএমএম - সম্ভবত আপনি বিভ্রান্ত হবেন যে ওয়েবআপড 8 স্ক্রিপ্টটি 0.5 বি? এটি স্ক্রিপ্টের সংস্করণ - এটি জাভা সংস্করণকে উল্লেখ করে না। একবার চেষ্টা করে দেখো. স্ক্রিপ্টটি চালানোর সময় উইন্ডোটি কেমন লাগে তার একটি স্ক্রিনশট দেখতে দিন।
ফসফ্রিডম

@ ফসফ্রিডম হ্যাঁ যা আমাকে পুরোপুরি বিভ্রান্ত করেছে; ডিআই স্ক্রিপ্ট চালিয়েছে! প্রশ্নে সম্পাদনাগুলি পরীক্ষা করে দেখুন! আমাকে সাহায্য করার জন্য অনেক ধন্যবাদ ..
মাত্তিও

কত অদ্ভুত ... কখনও এর মুখোমুখি হয়নি। যাইহোক - ঠিক নীচে উত্তরটি দেখুন - sudo update-alternativesউদাহরণ হিসাবে আপনার সক্ষম হওয়া উচিত ।
ফসফ্রিডম

@ ফসফ্রিডম আবার প্রশ্ন আপডেট!
মাত্তেও

উত্তর:


103

আপনার প্রথম প্রশ্ন:

সম্ভবত আপনি বিভ্রান্ত হতে পারেন যে ওয়েবআপড 8 স্ক্রিপ্টটি 0.5 বি। এটি স্ক্রিপ্টের সংস্করণ - এটি জাভা সংস্করণকে উল্লেখ করে না।

জাভ্যাক সংস্করণটির সেটিংয়ে আরও।

আমার সন্দেহ হয় আপনার স্পষ্টভাবে জাভাক সংকলকের পথ দেওয়া দরকার

অর্থাত

sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/java-6.31-oracle/bin/javac" 1

অনুসরণ করেছে:

sudo update-alternatives --config javac

জাভা ক্রোম প্লাগইন সেট আপ করার ক্ষেত্রে শ্রদ্ধার সাথে।

প্রধান প্রশ্ন:

আমি কীভাবে ওরাকল জেডিকে 6 ইনস্টল করব?

এই তথ্যটি অন্তর্ভুক্ত করে - যেহেতু আপনার ফোল্ডারের কাঠামোটি কিছুটা আলাদা আপনার লিঙ্ক কমান্ডটি হওয়া উচিত:

ln -s /usr/lib/jvm/java-6.31-oracle/jre/lib/i386/libnpjp2.so ~/.mozilla/plugins/

এটি নিজেই এই সংকলকটি পরিবর্তন করে - আপডেট-জাভা-বিকল্পগুলির জন্য নীচের উত্তরটি দেখুন যা জাভা-সম্পর্কিত বিকল্পগুলির স্যুইচিং পরিচালনা করে, যা আমার সিস্টেমে 82।
গ্রেগ

55

এই দেখুন ; চালান

sudo  update-java-alternatives --list

নাম এবং ডিরেক্টরি অনুসারে একটি মেশিনে সমস্ত জাভা ইনস্টলেশনগুলি তালিকাভুক্ত করতে এবং তারপরে চালনা করুন

sudo  update-java-alternatives --set [JDK/JRE name e.g. java-8-oracle]

কোন JRE / JDK ব্যবহার করবেন তা চয়ন করতে।

আপনি যদি প্রতিটি জাভা টাস্কের জন্য বিভিন্ন জেডিকে / জেআরই ব্যবহার করতে চান, আপনি একবারে এক্সিকিউটেবল একটি জাভা কনফিগার করতে আপডেট-বিকল্পগুলি চালাতে পারেন; আপনি চালাতে পারেন

sudo  update-alternatives --config java[Tab]

জাভা কমান্ডগুলি কনফিগার করা যায় তা দেখতে (জাভা, জাভাক, জাভা, জাভা ইত্যাদি)। এবং তারপর

sudo  update-alternatives --config [javac|java|javadoc|etc.]

সেই জাভা টাস্ক / কমান্ডকে একটি নির্দিষ্ট জেডিকে / জেআরইয়ের সাথে যুক্ত করবে।

কিছু অ্যাপ্লিকেশনগুলির জন্য আপনাকে জেভিএহোম সেটও করতে হতে পারে: এই উত্তর থেকে আপনি ব্যবহার করতে পারেন

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")

জেআরই এর জন্য, বা

export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:jre/bin/java::")

জেডিকে-র জন্য।


25

আমি মনে করি আপনার প্যাকেজটি এবং এর দ্বারা ব্যবহৃত ফাইলগুলি update-java-alternativesথেকে কমান্ডটি একবার দেখে নেওয়া উচিত । এটির সাথে আপনার জাভা ইনস্টলেশনগুলির মধ্যে পুরোপুরি স্যুইচ করতে সক্ষম হওয়া উচিত (জেডিকে, জেআরই নির্বিশেষে ...)।java-common*.jinfo


2
আমি চেষ্টা করেছিলাম update-java-alternativesএবং তারপর java -versionসঠিক ছিল, তবে লিঙ্কটি $JAVA_HOMEএখনও ত্রুটি ছিল ... আমি নিজেই সেটিকে পরিবর্তন করেছি, তবে আমি ভাবছি যে এই বিষয়ে কিছু অনুপস্থিত আছে update-java-alternatives
অ্যালেক্সিস উইলক

6

উবুন্টু / লিনাক্সে আপনি জাভা সংস্করণ ব্যবহার করে স্যুইচ করতে পারেন

update-alternatives --config java

তবে আগে, আপনার সংস্করণটি ইনস্টল করতে হবে।

আপনি একাধিক জেভিএম ইনস্টল করতে এই স্ক্রিপ্টটি (./install-java.sh) ব্যবহার করতে পারেন

#!/bin/sh
(
lookforJdks=$PWD
echo "Directory: $lookforJdks"
jdks=`test -e ./javac || find $lookforJdks -type d -iname '*jdk1.*' 2> /dev/null`
#set -e
echo 'which jdk do you want to choose? looking for jdks. This might take a while'
echo "$jdks" | awk '{printf("%5d : %s\n", NR,$0)}'
read choose
test -e ./javac || cd `echo "$jdks" | tr '\n' ',' | cut -d',' -f $choose`/bin
for e in appletviewer extcheck idlj jar jarsigner java javac javadoc javah javap jconsole \
 jdb jhat jinfo jmap jps jrunscript jsadebugd jstack jstat jstatd native2ascii rmic \
 schemagen serialver wsgen wsimport xjc jvisualvm jmc; do sudo update-alternatives \
 --install /usr/bin/$e $e $(readlink -f ./$e) 100; done
)

echo "RUN update-alternatives --config java"

এই স্ক্রিপ্টটি এমন ফোল্ডারে রাখুন যেখানে JVM (গুলি) আনপ্যাক করা হয়েছে এবং চালনা করুন:

/opt/install-java.sh

পরবর্তী ব্যবহার:

update-alternatives --config java

1

আপনি যদি জাভাক জাভাস জাভাদোক বা জাভা সম্পর্কিত কোনও কমান্ডের জন্য ম্যানুয়ালি সেট বিকল্পগুলিতে যাচ্ছেন, তবে আপনি তাদের জাভা পরিবর্তনের দাস করতে পারেন।

sudo update-alternatives --install "/usr/bin/java" "java" "/opt/jdk1.8.0_74/bin/java" 0 --slave "/usr/bin/javadoc" "javadoc" "/opt/jdk1.8.0_74/bin/javadoc"


update-alternatives: updating alternative /opt/jdk1.8.0_74/bin/java because link group java has changed slave links


:/opt/jdk1.8.0_74$ sudo update-alternatives --display java

জাভা - অটো মোড লিংকের সেরা সংস্করণটি /opt/jdk1.8.0_74/bin/java লিংকটি বর্তমানে /opt/jdk1.8.0_74/bin/java লিঙ্ক জাভা / usr / বিন / জাভা স্লেভ জাভাদোক / ইউএসআর / বিন / জাভাদোক / ওপট / জেডকি 1.8.0_74/bin/java - অগ্রাধিকার 0 দাস জাভাদোক: / ওপট / জেডকি 1.8.0_74/bin/ জাভাদোক

আপনার জেডি কে ইনস্টল থাকা দির সাথে /opt/jdk1.8.0_74/ পরিবর্তন করুন।


0

/etc/environmentআপনার যে কোনও পাঠ্য সম্পাদককে খুলুন এবং নিম্নলিখিত লাইনটি যুক্ত করুন:

JAVA_HOME="usr/lib/jvm/open-jdk 

- জাভা পাথ পৃথক হতে পারে।
এই কমান্ডটি চালিয়ে ভেরিয়েবলগুলি লোড করতে উত্সটি ব্যবহার করুন:

source /etc/environment

তারপরে এই কমান্ডটি চালিয়ে ভেরিয়েবলটি পরীক্ষা করুন:

echo $JAVA_HOME

এই পাথ সেট করে এই কমান্ডটি চালান:

sudo  update-java-alternatives --list

আপনার ডিফল্ট জাভা সংস্করণ চয়ন করুন।

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