it-swarm.asia

كيفية تعيين Java Oracle على أنها Java الافتراضية في أوبونتو؟

كيف يمكنني تغيير قيمة Java_HOME في Ubuntu للإشارة إلى Java Oracle؟

هل يجب أن يشير إلى Java-6-Sun أو Java-6-Sun-1.6.0.24؟

129
Ashish Agarwal

أضع الخط:

export Java_HOME=/usr/lib/jvm/Java-7-Oracle

في ملف ~/.bashrc الخاص بي.

يجب أن يكون /usr/lib/jvm/Java7-Oracle رابطًا رمزيًا يشير إلى /usr/lib/jvm/Java-7-Oracle-[version number here].

السبب في كونه رابطًا رمزيًا هو أنه في حالة وجود إصدار جديد من JVM ، فلن تحتاج إلى تحديث ملف .bashrc الخاص بك ، بل يجب أن يشير تلقائيًا إلى الإصدار الجديد.

إذا كنت ترغب في تعيين متغيرات بيئة Java_HOME على مستوى العالم وعلى مستوى النظام ، فيجب أن يتم استخدام "/etc/environment file".

170
srkiNZ84

إذا كنت تريد تغييره على مستوى العالم وعلى مستوى النظام ؛

في

/etc/environment

أضف هذا الخط:

Java_HOME=/usr/lib/jvm/Java-7-Oracle
164
metdos

لتعيين Java SE Development Kit على Oracle كجهاز افتراضي Java فقط قم بتنزيل أحدث Java SE Development Kit من هنا ثم قم بإنشاء دليل في مكان ما تريده في نظام الملفات الخاص بك على سبيل المثال ، /usr/Java الآن استخراج الملفات التي قمت بتنزيلها للتو في هذا الدليل :

$ Sudo tar xvzf jdk-8u5-linux-i586.tar.gz -C /usr/Java

الآن لتعيين متغير البيئة Java_HOME الخاص بك:

$ Java_HOME=/usr/Java/jdk1.8.0_05/
$ Sudo update-alternatives --install /usr/bin/Java java ${Java_HOME%*/}/bin/Java 20000
$ Sudo update-alternatives --install /usr/bin/javac javac ${Java_HOME%*/}/bin/javac 20000

تأكد من تعيين Java Oracle على أنها Java الافتراضية عن طريق:

$ update-alternatives --config Java

تحصل على شيء مثل هذا:

There are 2 choices for the alternative Java (providing /usr/bin/Java).

  Selection    Path                                           Priority   Status
------------------------------------------------------------
* 0            /opt/Java/jdk1.8.0_05/bin/Java                  20000     auto mode
  1            /opt/Java/jdk1.8.0_05/bin/Java                  20000     manual mode
  2            /usr/lib/jvm/Java-6-openjdk-i386/jre/bin/Java   1061      manual mode

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

انتبه إلى العلامة النجمية قبل الأرقام الموجودة على اليسار وإذا لم يتم تعيين الرقم الصحيح ، فاختر الرقم الصحيح بكتابة الرقم والضغط على إدخال. الآن اختبار جافا الخاص بك:

$ Java -version

إذا حصلت على شيء مثل التالي ، فأنت على ما يرام:

Java version "1.8.0_05"
Java(TM) SE Runtime Environment (build 1.8.0_05-b13)
Java HotSpot(TM) Server VM (build 25.5-b02, mixed mode)

لاحظ أيضًا أنك قد تحتاج إلى إذن الجذر أو تكون في مجموعة sudoers لتتمكن من القيام بذلك. لقد اختبرت هذا الحل على كلٍ من أوبونتو 12.04 و Debian wheezy وهو يعمل في كلاهما.

49
Barracuda

إذا كنت تريد توفير متغير البيئة هذا لجميع المستخدمين وعند بدء تشغيل النظام ، يمكنك إضافة ما يلي إلى /etc/profile.d/Java.sh (قم بإنشائه إذا لزم الأمر):

export JDK_HOME=/usr/lib/jvm/Java-7-Oracle
export Java_HOME=/usr/lib/jvm/Java-7-Oracle

ثم في تشغيل المحطة:

Sudo chmod +x /etc/profile.d/Java.sh
source /etc/profile.d/Java.sh

سؤالي الثاني هو - هل يجب أن يشير إلى Java-6-Sun أو Java-6-Sun-1.6.0.24؟

يجب أن يشير دائمًا إلى Java-7-Oracle لأن ذلك يرتبط بالآخر المثبت (بافتراض أنك قمت بتثبيت Java من مستودعات Ubuntu والآن من التنزيل المتاح في Oracle.com).

19
Jits

جافا 6

export Java_HOME=/usr/lib/jvm/Java-1.6.0-openjdk-AMD64

أو جافا 7

export Java_HOME=/usr/lib/jvm/Java-1.7.0-openjdk-AMD64

12
Roman Rhrn Nesterov

إذا كنت تقوم بأي نوع من التطوير ، فأنت بحاجة إلى الإشارة إلى JDK (Java Development Kit). خلاف ذلك ، يمكنك الإشارة إلى JRE (Java Runtime Environment).

يحتوي JDK على كل ما لدى JRE والمزيد. إذا كنت تقوم فقط بتنفيذ برامج Java ، فيمكنك الإشارة إلى JRE أو JDK.

يجب عليك ضبط Java_HOME بناءً على Java الحالي الذي تستخدمه. readlink سوف يطبع قيمة رابط رمزي لجافا الحالية و sed سوف يعدلها إلى دليل JRE:

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

إذا كنت ترغب في إعداد Java_HOME إلى JDK ، فيجب عليك رفع مجلد واحد أكثر:

export Java_HOME=$(readlink -f /usr/bin/Java | sed "s:jre/bin/Java::")
9
user987339

إذا كنت تريد استخدام إصدار معين من Java عند تثبيت JDKs متعددة ، فقد لا يعمل مجرد إعداد Java_HOME.

تحتاج إلى استخدام Sudo update-alternatives --config Java لتعيين Java الافتراضي.

راجع https://askubuntu.com/questions/121654/how-to-set-default-Java-version .

7
prosseek

انظر هذا ؛ يركض

Sudo  update-Java-alternatives --list

لسرد كافة عمليات تثبيت Java على جهاز بالاسم والدليل ، ثم تشغيلها

Sudo  update-Java-alternatives --set [JDK/JRE name e.g. Java-8-Oracle]

لاختيار أي JRE/JDK للاستخدام.

إذا كنت تريد استخدام JDKs/JREs مختلفة لكل مهمة Java ، فيمكنك تشغيل بدائل تحديث لتكوين Java قابل للتنفيذ في وقت واحد ؛ يمكنك الجري

Sudo  update-alternatives --config Java[Tab]

للاطلاع على أوامر Java التي يمكن تهيئتها (Java ، javac ، javah ، javaws ، إلخ). وثم

Sudo  update-alternatives --config [javac|Java|javadoc|etc.]

سيتم ربط مهمة/أمر Java إلى JDK/JRE معين.

قد تحتاج أيضًا إلى تعيين Java_HOME لبعض التطبيقات: من هذه الإجابة يمكنك استخدامها

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

ل JREs ، أو

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

ل JDKs.

3
WillC