Web Application Inizio costruito su NetBeans piattaforma non crea collegamento sul desktop e avviare la voce di menu

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

Domanda

Ho creato un'applicazione NetBeans Platform che viene lanciato utilizzando Java Web Start. Ho costruito il file WAR utilizzando il 'JNLP Application'-comando di generazione in Netbeans 6.8.

Ho aggiunto un collegamento sul desktop e voce di menu per il file JNLP, ma per qualche ragione, questi non vengono creati quando viene avviata l'applicazione.

Tuttavia, quando vado a:

  

Pannello di controllo -> Java -> Temporary   File Internet -> Visualizza -> Selezionare la mia   applicazione> Fare clic su 'Installa scorciatoie   all'applicazione selezionata '

i collegamenti sul desktop e nel menu sono creati in modo corretto.

Inoltre, nella console Java, l'opzione di scelta rapida creazione è impostata al seguente (il valore predefinito, presumo):

  • Richiedi all'utente se ha fatto capire

Di seguito è riportato un frammento del mio file 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>
      ...

stumped. Qualcuno ha una spiegazione per questo? Grazie

PS Questo è sia su Windows XP e Windows 7. Versione NetBeans: 6.8

È stato utile?

Soluzione

Sono riuscito a risolvere questo utilizzando il javax.jnlp.IntegrationService (disponibile dal JDK 6.1.18).

Questa classe può essere trovato nel jnlp.jar trovato nella directory degli esempi JDK: /sample/jnlp/servlet/jnlp.jar

che il collegamento sul desktop e menu di scelta rapida vengono creati i seguenti assicura codice:

    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();
        }
    }

Altri suggerimenti

Ho lo stesso problema con Linux, ma funziona come previsto su OS-X. Ho testato sia con il Tomcat e il contenitore web Jetty.

Quindi, è una buona possibilità che il codice è in realtà corretto.

Ho lo stesso problema con Eclipse per creare un'applicazione WebStart. Ho pensato che fosse una limitazione di WebStart su Windows. Ho pensato che è possibile impostare tali proprietà, ma l'utente ha ancora bisogno di "install" l'applicazione per usarli.

E 'un po' più facile da installare sul Mac. È sufficiente fare clic destro sull'icona nel Dock, fare clic su Opzioni e poi Mantieni nel Dock.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top