5.FreshMinutes.IT – Java & IT

5 minutes pour consolider ses connaissances en Java et dans les Nouvelles Technos.
  • Accueil
  • À propos
  • Contact, Twitter, Tumblr & Buzz

Tutoriel Java Web Start – 5 minutes pour passer d’une appli desktop à une appli web

Eric Vialle | Dimanche 18 mai 2008 | 12:17


Java Web Start est une technologie de déploiement d’application Desktop via le Web. Si vous disposez d’au moins Java 1.4, vous pouvez lancez une application Java via n’importe quel lien. Cliquez ici pour avoir un exemple de ce que nous allons faire.

Cette mise en place va se faire en trois temps:

  1. Création d’un fichier JAR
  2. Création d’un fichier JNLP
  3. Mise en place sur le serveur

Création d’un Fichier JAR

Gestion des Ressources

Vous devez mettre toutes les ressources utilisé par votre application dans le JAR déployé. Pour accèder aux ressources, n’utilisez pas (par exemple)

  1. new ImageIcon("org/vialle/projet/logo.gif")

mais utilisez plutot

  1. new ImageIcon(getClass().getResource("org/vialle/projet/logo.gif"))

Si une de ces ressources est un JAR, pas la peine de l’inclure dans le JAR que nous allons généré. Nous verrons plus tard comment faire dans ce cas là.

Génération du JAR

Vous pouvez utilisez votre EDI préféré pour créer un JAR. Avec Eclipse, utilisez la fonction Exporter du menu Fichier.

Signature du JAR

Nous allons générer la clef, puis l’attacher au JAR que nous venons de créer.

Pour générer la clef, on utilise l’outil keytool

keytool -genkey -keystore NomDuMagasinRegroupantLesClefs-alias NomDeLaClef

Si vous préférez les interfaces graphiques, vous pouvez gérer vos clefs via KeyTool IUI.

Pour l’attacher au JAR, on utilise un autre outil

jarsigner -keystroke NomDuMagasinRegroupantLesClefs MonApplication.jar NomDeLaClef

Si vous ne signez pas votre JAR, celui-ci peut tout de même s’exécuter. Toutefois, certaines fonctions seront restreintes, telle que l’accés aux données utilisateurs (disque dur) ou certains périphériques sensibles.

Création d’un fichier JNLP

Le fichier JNLP est un fichier XML décrivant votre application Java Webstart.

  1. < ?xml version="1.0" encoding="utf-8"?>
  2.  
  3.     Eric V
  4.  
  5.     Mon application
  6.     une application de test

Vous noterez dans la partie ressources, que l’on met l’URL de tous les JAR dont on a besoin pour utiliser notre application.

Pour avoir une liste compléte des tags pour un fichier JNLP, rendez vous sur le site de SUN.

Mise en place sur le serveur

Configuration d’Apache

Dans le fichier de configuration d’Apache, ajoutez dans le fichier conf\mime.types, cette ligne:

application/x-java-jnlp_file	jnlp

Mise en place des fichiers

Tous les JAR et le fichier JNLP doivent être mis sur un repertoire web accessible en lecture de l’extérieur.

Problèmes Potentiels

Si l’informatique marchait du premier coup, ma grand-mère installerait toute seule son réseau wifi. Des problèmes diverses peuvent subvenir:

  • Si vous avez un logo “Java Starting” pendant plusieurs secondes et que rien ne se passe après: supprimez le fichier “deployment.properties“. Ce fichier sera regénéré automatiquement. Ce problème semble être propre à Mac OS X.
  • Pour avoir “All Permissions”, vous devez signer TOUS vos JAR. Si un fichier JAR que vous souhaitez utiliser ne peut être signé, cela peut venir du fichier MANIFEST.MF, puis recréez le JAR. Si vous êtes paresseux ou peu rigoureux, essayez de le supprimer…
  • Si il s’agit d’une application SWT (Standard Widget Tool), il faut spécifier cette librairie et la dll sous Windows. Rendez une visite au tutorial de LFE.

Sources:

  • FAQ Java Web Start (non officiel)
  • http://www.ibm.com/developerworks/java/library/j-webstart/
  • http://www.jmdoudoux.fr/java/dej/chap028.htm
  • http://mbaron.ftp-developpez.com/javase/jws.pdf
  • http://www.pcinpact.com/forum/lofiversion/index.php/t111578.html


Catégories
Dévelopement Tips, J2SE, Java, Java EE, Tutoriel
Tags
apache, Dévelopement Tips, jar, jarsigner, Java, java web start, jnlp, keytool, signer
Flux rss des commentaires
Flux rss des commentaires
Trackback
Trackback

« Performances des Getters/Setters pour les JavaBeans Premier Barcamp PHP Parisien, le 7 Juin 08 »

One Response to “Tutoriel Java Web Start – 5 minutes pour passer d’une appli desktop à une appli web”

  1. nhq dit :
    Mardi 15 décembre 2009 à 3:33

    Bonjour,

    Merci merci pour ces explications.
    Cependant j’ai un souci lorsque je signe certains jars il enlève / supprime les données initiales du jar. Le fait de signer ce jar enlève les données suivantes :

    Manifest-Version: 1.0
    Bundle-Name: org.eclipse.core.commands French NLS Support
    Bundle-SymbolicName: org.eclipse.core.commands.nl_fr ;singleton=true
    Bundle-Version: 3.4.0.v20081123043401
    Bundle-Vendor: Eclipse.org
    Fragment-Host: org.eclipse.core.commands

    Et par contre ajoute bien les données concernant la signature :

    Name: plugin_fr.properties
    SHA1-Digest: Vigk0ly8waWzdFFZzSZEA1UvS9Y=

    Name: about.html
    SHA1-Digest: VpXXGnjM0HeeD/l2/5T0GziCHVE=

    Name: META-INF/eclipse.inf
    SHA1-Digest: 6mDW8kS/T9pK7w1by/wcxy21Z20=

    Auriez-vous une explication par hasard ?

    Merci d’avance.

    Hoang

Leave a Reply

Cliquez ici pour annuler la réponse.

Articles récents

  • Push & communications asynchrones sur iOS (iPhone/iPad)
  • Optimiser le temps de chargement pour le web mobile avec iPhone, jQTouch, Struts 2 et Tomcat
  • La philosophie du Domain Driven Design User Group et l’état des lieux * Users Group en Février 2010
  • Introduction au NoSQL (et de Redis) ou le compte rendu du NoSQL User Group Paris de Février 2010
  • Gérer le Cache-Control HTTP dans une application Web Java EE avec Tomcat
  • Compiler son code? “It’s so 2000s” ou un apercu de Play et JRebel
  • Le blog change d’adresse
  • Le Paris JUG a fêté ses 2 ans: compte-rendu

Navigation

  • Actualités Flux pour tous les articles classés dans Actualités
  • Architecture IT Flux pour tous les articles classés dans Architecture IT
  • Base de données Flux pour tous les articles classés dans Base de données
  • Java Flux pour tous les articles classés dans Java
    • Dévelopement Tips Flux pour tous les articles classés dans Dévelopement Tips
    • EDI Flux pour tous les articles classés dans EDI
    • J2ME Flux pour tous les articles classés dans J2ME
    • J2SE Flux pour tous les articles classés dans J2SE
    • Java EE Flux pour tous les articles classés dans Java EE
    • Tutoriel Flux pour tous les articles classés dans Tutoriel
  • Non classé Flux pour tous les articles classés dans Non classé
  • NoSQL Flux pour tous les articles classés dans NoSQL

Promo

Mots Clefs

adobe apache application web Base de données benchmark bugs c# checkstyle dérivation eclipse find bugs findbugs flex framework play google gzip http iPhone jar Java Java User Group java web start JVM microsoft mysql object objet open source optimisation oracle performance plugin pmd polymorphisme qualité recrutement rich internet application serveur silverlight struts struts 2 sun test Tomcat web

WP Cumulus Flash tag cloud by Roy Tanck and Luke Morton requires Flash Player 9 or better.

Twitter

  • J'ai testé OnLive Games sur mon Mac en Wifi: vraiment impressionnant que les possibilités du cloud gaming 2011-01-17
  • More updates...

Livres Pour Aller Plus Loin…

Blogoliste

  • Berthou.com
  • Le blog de hugu
  • PHP – Le Blog de Fatiha
  • techno.blog(java4it)
Get Adobe Flash playerPlugin by wpburn.com wordpress themes
rss Flux rss des commentaires valid xhtml 1.1 design by jide powered by Wordpress get firefox