Les applications Java Web Start démarrent toujours plus lentement que celles lancées directement via l'exécutable java
. Ceci est parce que Java Web Start est en train de faire beaucoup plus qu'un java
lancement standard:
- JWS accède au réseau pour télécharger le JNLP (et peut-être JARs, et d'autres ressources)
- JWS vérifie son cache local JARs pour voir si elle peut ignorer le téléchargement des fichiers jAR
- JWS est potentiellement télécharger les pots via HTTP, si le cache est vide ou de la date
- JWS vérifie la validité des signatures cryptographiquement forts de chaque pot
Je pense que la plupart de ceci est un coût inévitable pour la puissance supplémentaire de pouvoir lancer votre application via un navigateur Web et mettre à jour votre application pratiquement «gratuitement». Autre possibilité: Votre application fonctionne-t-elle avec une VM différente lorsque vous lancez via webstart ou lorsque vous lancez avec NetBeans? Vous pouvez essayer d'imprimer:
System.getProperty("java.home")
pour savoir quelle machine exécute le processus en cours d'exécution.
S'il s'agit de la même machine virtuelle, vous pouvez également essayer de différencier les propriétés système Java entre les deux scénarios. Essayez d'imprimer toutes les propriétés du système:
System.getProperties().store(System.out, "");
Wireshark peut être utilisé pour aider à diagnostiquer les problèmes de réseau Java Web Start.
Parfois, la journalisation Démarrer Java Console et Java Web peut être utile pour diagnostiquer certains problèmes JWS. Vous pouvez activer ces fonctions par le Java Control Panel:
Différentes JVM pour les deux scénarios? – aioobe
Qu'est-ce qui ralentit particulièrement l'application? Le lancer? Ce qui arrive après le lancement? Rendu de l'interface utilisateur La souris est laggy? Les menus s'ouvrent lentement? –
@ Mike- Il déclare clairement que le lancement est lent. – DMan