javafx-2 تحميل - JavaFX و OpenJDK




اوراكل جافا (5)

أحاول تحديد ما إذا كان بإمكاني التبديل إلى JavaFX لواجهة المستخدم الخاصة بتطبيق جافا الخاص بي. معظم المستخدمين قد يستخدمون Oracle JRE ، الذي يحتوي على JavaFX المدمجة هذه الأيام. ومع ذلك ، يستخدم البعض OpenJDK (على لينكس). This السؤال (القديم) يوحي بأن OpenJDK يتعامل بشكل سيء للغاية مع JavaFX. وفقا this السؤال ، سوف يتم دمج OpenJFX البديلة فقط في OpenJDK في الإصدار 9. لذلك سؤالي ذو شقين:

  • هل لا يزال دعم JavaFX في OpenJDK سيئًا للغاية؟
  • إذا كان الأمر كذلك ، فهل هناك أي توزيعات لينكس تقدم بالفعل حزمة OpenJFX حتى لا يضطر المستخدمون إلى بنائها بنفسها ؟

Answers

وفقًا لتكامل Oracle الخاص بـ OpenJDK & javaFX سيكون على Q1-2014 (راجع خريطة الطريق: http://www.oracle.com/technetwork/java/javafx/overview/roadmap-1446331.html ). لذا ، بالنسبة للسؤال الأول ، فإن الإجابة هي أنه عليك الانتظار حتى ذلك الحين. للسؤال الثاني لا توجد طريقة أخرى. لذلك ، الآن اذهب مع java swing أو ابدأ javaFX وانتظر


بالنسبة لي هذا العمل.

sudo apt-get install openjfx


كحل سريع ، يمكنك نسخ ملف JAR في وقت التشغيل JavaFX وتلك المشار إليها من Oracle JRE (JDK) أو أي تطبيق قائم بذاته يستخدم JavaFX (على سبيل المثال ، JavaFX Scene Builder 2.0 ):

cp <JRE_WITH_JAVAFX_HOME>/lib/ext/jfxrt.jar     <JRE_HOME>/lib/ext/
cp <JRE_WITH_JAVAFX_HOME>/lib/javafx.properties <JRE_HOME>/lib/
cp <JRE_WITH_JAVAFX_HOME>/lib/amd64/libprism_*  <JRE_HOME>/lib/amd64/
cp <JRE_WITH_JAVAFX_HOME>/lib/amd64/libglass.so <JRE_HOME>/lib/amd64/
cp <JRE_WITH_JAVAFX_HOME>/lib/amd64/libjavafx_* <JRE_HOME>/lib/amd64/

فقط تأكد من أن لديك 2.18 غيغا طن أو أعلى


JavaFX هو جزء من OpenJDK

مشروع JavaFX نفسه مفتوح المصدر وهو جزء من مشروع OpenJDK .

بناء JavaFX من مستودع OpenJDK

يمكنك إنشاء إصدار مفتوح من OpenJDK (بما في ذلك JavaFX) بالكامل من المصدر الذي لا يحتوي على تبعيات على Oracle JDK أو شفرة مصدر مغلقة.

تحديث: استخدام توزيعة JavaFX مسبقًا من مصادر OpenJDK

كما هو مذكور في التعليقات على هذا السؤال وفي إجابة أخرى ، توفر توزيعات ديبيان لينكس توزيعة JavaFX ثنائية تعتمد على OpenJDK:

الفروق بين Open JDK و Oracle JDK فيما يتعلق بـ JavaFX

يتضمن Oracle JDK بعض البرامج غير القابلة للاستخدام من OpenJDK. هناك مكونان رئيسيان يتعلقان بـ JavaFX.

  1. لم يتم فتح برنامج ترميز الفيديو ON2 VP6 ، المملوك من قبل Google و Google.
  2. تقنية نشر التطبيقات Oracle WebStart / Browser Embedded المضمنة.

هذا يعني أن إصدارًا مفتوحًا من JavaFX لا يمكنه تشغيل ملفات VP6 FLV. هذه ليست خسارة كبيرة لأنه من الصعب العثور على مشفرات VP6 أو الوسائط المشفرة في VP6. تنسيقات الفيديو الأكثر شيوعًا مثل H.264 سيتم تشغيلها بشكل جيد مع إصدار مفتوح من JavaFX (طالما لديك برامج الترميز المناسبة مثبتة مسبقًا على الجهاز المستهدف).

إن عدم وجود تقنية النشر WebStart / Browser Embedded هو فعلاً شيء يتعلق بـ OpenJDK نفسه بدلاً من JavaFX على وجه التحديد. يمكن استخدام هذه التقنية لنشر تطبيقات غير JavaFX.

سيكون من الرائع إذا قام مجتمع OpenSource بتطوير تقنية نشر لـ Java (وبرامج أخرى) التي استبدلت بالكامل طرق نشر WebStart و Browser Embedded ، مما يسمح بتجربة مستخدم خفيفة الوزن وخفيفة الوزن لتوزيع التطبيق. أعتقد أن هناك بعض المشاريع التي بدأت تخدم مثل هذا الهدف ، لكنها لم تصل بعد إلى مستوى عالي من النضج والتبني.

شخصياً ، أشعر أن عمليات نشر WebStart / Browser Embedded هي تقنية قديمة وهناك حاليًا طرق أفضل لنشر العديد من تطبيقات JavaFX (مثل التطبيقات المستقلة).

الذي يحتاج إلى إنشاء لينكس OpenJDK التوزيعات التي تشمل JavaFX

والأمر متروك للأشخاص الذين يقومون بإنشاء حزم لتوزيعات Linux المبنية على OpenJDK (على سبيل المثال Redhat ، Ubuntu وغيرها) لإنشاء RPMs لـ JDK و JRE التي تتضمن JavaFX. عندئذ يحتاج موزعو البرامج هؤلاء إلى وضع الحزم التي تم توليدها في مستودعات كود التوزيع القياسية الخاصة بهم (مثل مستودعات yum فيدورا / شبكة القبعة الحمراء). في الوقت الحالي لا يتم تنفيذ ذلك ، ولكن سأكون مندهشًا إذا لم تتضمن حزم Java 8 Linux JavaFX عندما يتم إصدار Java 8 في مارس 2014.

المشورة بشأن نشر لتطبيقات كبيرة

أنصح باستخدام وضع نشر تطبيق جافا المستقل .

وصف وضع النشر هذا هو:

يتم تثبيت التطبيق على محرك الأقراص المحلي ويعمل كبرنامج مستقل باستخدام نسخة خاصة من أوقات تشغيل Java و JavaFX. يمكن إطلاق التطبيق بنفس الطريقة مثل التطبيقات الأصلية الأخرى لنظام التشغيل هذا ، على سبيل المثال باستخدام اختصار سطح المكتب أو إدخال القائمة.

يمكنك إنشاء تطبيق قائم بذاته إما من توزيع Oracle JDK أو من بنية OpenJDK التي تتضمن JavaFX. من السهل حاليًا القيام بذلك باستخدام Oracle JDK.

ونظرًا لأن إصدار Java مدمج مع تطبيقك ، فلا داعي للقلق بشأن إصدار Java المثبت مسبقًا على الجهاز ، وما هي إمكانياته وما إذا كان متوافقًا مع البرنامج أم لا. بدلاً من ذلك ، يمكنك اختبار التطبيق الخاص بك مقابل إصدار وقت التشغيل Java الدقيق وتوزيعه مع التطبيق الخاص بك. ستكون تجربة المستخدم لنشر تطبيقك هي نفس تثبيت تطبيق أصلي على الجهاز الخاص به (على سبيل المثال ، windows .exe أو .msi مثبت ، أو OS X .dmg أو linux .ppm أو .deb).

تحديث ، أبريل 2018: معلومات عن سياسة أوراكل الحالية تجاه التطورات المستقبلية


وأود أيضا أن أضيف نقطة واحدة مع جميع الإجابات الرائعة المذكورة أعلاه. عندما نقوم بتحميل برنامج تشغيل في JDBC باستخدام Class.forName ("") يحدث تحميل Class ويطلق المبدئ الثابت لفئة Driver ويدعم الرمز الموجود داخله برنامج التشغيل إلى Driver Manager. هذا أحد الاستخدامات الهامة لكتلة التعليمات البرمجية الثابتة.





java javafx-2 javafx openjdk