محاولة الحصول على تطبيق موقّع للعمل في متصفح ولكنه يفشل فشلاً ذريعًا

StackOverflow https://stackoverflow.com/questions/1965537

  •  21-09-2019
  •  | 
  •  

سؤال

لقد قمت بإنشاء japplet تستخدم مكتبتين خارجين (جينا و يونغ). يعمل Applet بشكل صحيح عندما أقوم بتشغيله من IDE (باستخدام Eclipse). لقد قمت بإنشاء ملف جرة ، وقّعته (نظرًا لأن التطبيقات التي يحتاجها التطبيق من القرص من القرص) ، أنشأت صفحة HTML لعقد التطبيق ، ولكن عندما أحاول تشغيله في متصفح ويب أحصل على مربع حوار Java Security Wenning وعندما أقوم اضغط على RUN ، يبدو أن علامة تبويب المتصفح بأكملها معلقة.

هنا ملف HTML الذي كتبته:

<html>
   <head>
      <title>Ontology Application</title>
   </head>
   <body>
      <applet code="assignment.Launcher.class" width="1000" height="800" archive="test.jar"></applet>
   </body>
</html>

تحتوي فئة Launcher على أساليب init و start و stap وتدمير ، ويتم تخزين جميع الفئات المستخدمة في المشروع في حزمة المهمة. Test.Jar هو ملف JAR الموقّع ويتم وضعه في نفس المجلد مثل ملف HTML.

لقد اتبعت الخطوات الواردة في هذا الموضوع لإنشاء مفتاح خاص/العام الخاص بي ، وتوقيع ملف JAR:كيفية التوقيع والتطبيق (وجعلها تعمل)

لدي قائمة بالأسئلة حول العملية برمتها لأنني لست متأكدًا من خطوتين.

السؤال 1: قمت بإنشاء ملف JAR باستخدام Eclipse (انقر بزر الماوس الأيمن فوق مشروع -> تصدير -> ملف جرة) وأبقى الإعدادات الافتراضية. هل يحتوي ملف الجرة الناتجة على مكتبات المراجع التي استوردتها في المشروع؟ إذا كانت الإجابة لا ، كيف يمكنني تضمين المكتبات المرجعية في ملف الجرة؟

السؤال 2: هل يجب تشغيل ملف الجرة الناتجة إذا قمت بالنقر فوقه؟ نظرًا لأنه لا يعمل (أعتقد أنه لا يعمل لأنه لا يوجد فصل رئيسي محدد لأن التطبيق لا يحتوي على طريقة رئيسية ، لكنني أقف على تصحيحه)

السؤال 3: بما أنني أستخدم المكتبات الخارجية في تطبيقي ، هل أحتاج إلى توقيع الرقمية على جميع ملفات JAR المستوردة من أجل جعل التطبيق يعمل؟ أو التوقيع على ملف الجرة الرئيسية (التي تحتوي على فصولي) يكفي؟

السؤال 4: إذا تمكنت يومًا ما من جعل التطبيق يعمل في متصفح ، فهل يظهر مربع حوار Java Security Warning في كل مرة يحاول فيها التطبيق قراءة النص من القرص؟ أو يظهر مربع حوار تحذير الأمان مرة واحدة فقط عند تحميل التطبيق؟

شكرًا مقدمًا ، وآسف على طرح الكثير من الأسئلة في موضوع واحد ، ومع ذلك فهي مرتبطة ارتباطًا وثيقًا بالموضوع :)

هل كانت مفيدة؟

المحلول

  1. يجب أن تستخدم <PARAM NAME="archive" VALUE='applet.jar, external1.jar, external2.jar'> في إعلان التطبيق الخاص بك في HTML. يمكنك أيضًا محاولة الإضافة Class-Path لك MANIFEST.MF من الجرة الرئيسية (انظر هنا)
  2. رقم ما لم يكن لديك ملف Main-Class محدد في الخاص بك MANIFEST.MF
  3. نعم ، في حالة قيام الجرار الخارجية ببعض العمليات الحساسة للأمان (مثل قراءة/كتابة نظام الملفات)
  4. رقم.
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top