تطبيق بدء الويب المدمج على منصة NetBeans لا ينشئ اختصار سطح المكتب وبدء تشغيل عنصر القائمة

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

سؤال

لقد قمت بإنشاء تطبيق NetBeans Platform الذي تم إطلاقه باستخدام Java Web Start. لقد قمت ببناء ملف الحرب باستخدام "إنشاء تطبيق JNLP" في NetBeans 6.8.

لقد أضفت اختصار سطح المكتب وعنصر القائمة إلى ملف JNLP ، ولكن لسبب ما ، لا يتم إنشاءها عند إطلاق التطبيق.

ومع ذلك ، عندما أذهب إلى:

لوحة التحكم -> java -> ملفات الإنترنت المؤقتة -> عرض -> حدد التطبيق الخاص بي> انقر فوق "تثبيت اختصارات إلى التطبيق المحدد"

يتم إنشاء اختصارات سطح المكتب والقائمة بشكل صحيح.

أيضًا ، في وحدة التحكم Java ، يتم تعيين خيار إنشاء الاختصار على ما يلي (الافتراضي ، أفترض):

  • موجه للمستخدم إذا تم التلميح

فيما يلي مقتطف من ملف JNLP الخاص بي:

<jnlp spec="6.0+" codebase="$$codebase">   
      <information>
         <title>${app.title}</title>
         <vendor>SomeVendor (Pty) Ltd</vendor>
         <description>Some description</description>
         <icon href="${app.icon}"/>      
         <shortcut online="true">
            <desktop/>
            <menu submenu="MyApp"/>
         </shortcut>   
      </information>
      ...

أنا متعثر. هل لدى أي شخص تفسير لهذا؟ شكرًا

ملاحظة: هذا على كل من Windows XP و Windows 7. إصدار NetBeans: 6.8

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

المحلول

تمكنت من حل هذا باستخدام javax.jnlp.integrationservice (متوفر منذ JDK 6.1.18).

يمكن العثور على هذه الفئة في Jnlp.jar الموجودة في دليل عينات JDK: /sample/jnlp/servlet/jnlp.jar

يضمن الرمز التالي إنشاء اختصار سطح المكتب واختصار القائمة:

    private void createShortcuts() {
        IntegrationService vIntegrationService = null;
        try {
            vIntegrationService = (IntegrationService) ServiceManager.lookup("javax.jnlp.IntegrationService");

            if (!vIntegrationService.hasDesktopShortcut() || !vIntegrationService.hasMenuShortcut()) {
                vIntegrationService.requestShortcut(true, true, "App Menu Name");
            }
        } catch(UnavailableServiceException ex){
            ex.printStackTrace();
        }
    }

نصائح أخرى

لدي نفس المشكلة مع Linux ، لكنها تعمل كما هو متوقع على OS-X. لقد اختبرت مع كل من Tomcat و Jetty Web Container.

لذلك ، إنها فرصة عادلة أن يكون رمزك صحيحًا بالفعل.

لدي نفس المشكلة باستخدام Eclipse لإنشاء تطبيق ويب. اعتقدت أنه كان قيودًا على ويب على Windows. كنت أحسب أنه يمكنك تعيين هذه الخصائص ، لكن المستخدم لا يزال بحاجة إلى "تثبيت" التطبيق لاستخدامها.

من الأسهل بعض الشيء التثبيت على جهاز Mac. يمكنك فقط النقر بزر الماوس الأيمن على الرمز في قفص الاتهام الخاص بك ، وانقر على الخيارات ثم الاحتفاظ في Dock.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top