Accueil > Java > Lancer des applications Java sous Mac OS X

Lancer des applications Java sous Mac OS X

Durant toute l’année 2000, le but d’Apple a été de faire en sorte que Mac OS X soit la meilleure plate-forme Java “au monde” pour exécuter des applications J2SE. L’équipe Java d’Apple a voulu que les développeurs s’engagent, tout au moins, à déployer leurs applications sur le Mac. Leur but suivant a été de convaincre les développeurs qu’OS X était une plate-forme géniale pour développer des applications Java.

Dans les articles qui suivent, nous regarderons ensemble comment perfectionner votre application de manière à ce qu’elle tourne comme une application Cocoa native et comment profiter des fonctionnalités dont profitent déjà d’autres applications Cocoa.
Dans cet article, nous regarderons comment considérer une application qui n’a jamais été conçue pour tourner sur un Mac et la ferons tourner selon des modes simples et progressifs. Pour notre exemple, nous regarderons l’outil de développement JUNIT disponible sur JUNIT.ORG. Cet outil est souvent employé pour les tests unitaires intégrés à la méthodologie XP (pour programmation extrême - pas le système de Microsoft). Puisque les programmeurs Mac n’auront plus jamais envie d’utiliser d’autres outils — nous pouvons nous consacrer à ces outils 100% pure Java.

Finalement, un défi pour la communauté est lancé. Si cela est aussi facile d’exécuter des outils Java purs non destinés au Mac, pourquoi ne pas télécharger la dernière distribution Jini et faire tourner ces outils sous l’interface Aqua ?

(Je me rends compte qu’il y a beaucoup de types différents de programmeurs Java travaillant sous Mac OS X. Il y a le noyau dur des UNIXiens qui codent dans “vi” et “emacs” et, crachent des scripts shell durant leur sommeil. Il y a ceux qui préférent les outils à interface graphique et qui veulent employer des outils RAD puissants et, qui ne peuvent pas attendre que JBUILDER arrive sur leur plate-forme. Et, il y a une tonne d’amateurs et quelques développeurs commerciaux. Cet article essayera de prendre en compte tous ces différents besoins. Si vous avez des idées sur la manière de mieux prendre en compte vos besoins, écrivez-moi s’il vous plaît à DSteinberg@core.com.)

Téléchargement et décompression

Ok, il n’y a pas grand chose d’écrit la-dessus, mais il n’en faut pas plus. Allez sur JUNIT.ORG et suivez les liens pour télécharger la dernière version de JUNIT. Actuellement (octobre 2001), on en est à la version 3.7. Un fichier Zip est téléchargé sur votre machine et se décompresse dans le répertoire junit3.7 en utilisant l’application StuffIt Expander. Cet outil gratuit est installé dans le dossier Applications/Utilities/. Comparé à beaucoup de vos collègues Windows qui cliquent sur le bouton “I Agree” de la licence d’évaluation de WinZip pour la 83ème fois (presque une année après qu’ils l’aient téléchargée), vous, vous n’avez même pas à installer d’application de ce genre !

Si vous êtes plus qu’un programmeur java forcené et “ne voulez pas employer une application qui chlingue”, vous pouvez commencer en téléchargeant juste le fichier Zip. Dans le dossier Applications/Utilities/, vous trouverez le terminal. Ouvrez-le et naviguez jusqu’au répertoire contenant junit37.zip. Tapez : jar xvf junit3.7.zip. C’est du Mac OS X, mais vous toujours opter pour StuffIt.

Respect des directives

Vérifiez les directives d’installation dans le fichier ReadMe. Nous avons déjà fait le premier pas en décompressant le fichier Zip. Le deuxième pas consiste à ajouter junit.jar au chemin de classe. Par exemple : set classpath = % classpath %; INSTALL_DIR\junit3\junit.jar. Là vous pouvez voir que cette distribution a été conçue pour un auditoire Windows. En réalité nous pouvons mettre ce chemin de classe en modifiant notre fichier .tcshrc. Parce que beaucoup de programmeurs Mac ne connaissent pas bien UNIX et le shell C amélioré tcsh, nous parlerons plus tard des modifications à apporter à ce fichier dans un prochain article. Nous pouvons donner une valeur au chemin de classe à partir de l’interpréteur de commande en employant le flag -cp.

L’étape suivante consiste à lancer le programme. Nous le ferons en ajoutant d’abord le chemin de classe indiqué ci-dessus. Ouvrez une fenêtre terminal et naviguez jusqu’à l’intérieur du dossier junit3.7. Entrez maintenant la commande java -cp [Install Dir]/junit3.7/junit.jar junit.swingui.TestRunner junit.samples.AllTests. Vous devez, bien sûr, remplacer “[Install Dir]” par le répertoire dans lequel vous avez installé JUNIT. Dans mon cas, junit3.7 est un sous-répertoire de /Users/dhs/ donc mon chemin de classe est /Users/dhs/junit3.7/junit.jar.

Oups - cela ne semble pas bon. Ne vous affolez pas. La raison pour laquelle la classe junit.samples. AllTests n’a pu être trouvée est que votre emplacement actuel ne fait pas partie du chemin de classe. Nous fixerons cela en ajoutant le répertoire actuel au chemin de classe et en modifiant l’appel précédent comme suit : java -cp [Install Dir]/junit3.7/junit.jar:. Junit.swingui. TestRunner junit.samples. AllTests. Note : Le fait d’ajouter “.” au chemin de classe ajoute le répertoire actuel. Les utilisateurs de Windows doivent noter que les programmes Mac emploient le séparateur Unix “:” et non “;“.

Cette fois le résultat est beaucoup mieux.

Ce n’est pas mal. Cela a presque le style Aqua. Ça serait agréable si le menu JUNIT appaîssait là où sont supposés apparaître les menus Mac, mais nous pouvons vivre avec cette approximation. Les trois boutons dans le coin supérieur-gauche se comportent presque comme ils le devraient.

Si vous cliquez sur le bouton vert, il peut y avoir un problème de redessinement de la plus grande fenêtre qui peut être corrigé si vous faites un redimensionnement en saisissant le coin inférieur-droit. Cependant, il y plus à découvrir dans JUnit que sa capacité à employer l’effet de génie au moment de son envoi dans le dock. Dans la section suivante, nous regarderons comment améliorer le côté Mac pour l’utilisateur.

Création d’une version double-cliquable

Vous ne voulez pas qu’un utilisateur ait à naviguer jusqu’au bon répertoire et à taper le chemin d’accès aux classes chaque fois qu’il lancera JUNIT ! Une des choses sympathiques qu’Apple a introduite avec Mac OS X est la mise à disposition des outils de développement. Nous allons donc employer MRJAppBuilder pour packager rapidement JUnit et en faire une application double-cliquable. Vous trouverez MRJAppBuilder dans le répertoire /Developer/Applications/. Lancez-le et commençons à remplir les divers champs contenus dans le panneau de l’application.

Tout d’abord, remplissons les champs avec les valeurs que nous avons employées dans l’interpréteur de commande. Le nom de la classe principale était junit.swingui.TestRunner et le chemin d’accès aux classes était [Install Dir]/junit3.7/junit.jar:.. Ce chemin d’accès aux classes est intéressant parce qu’il emploie un chemin d’accès absolu et un chemin relatif. Le “.” suppose que nous sommes à l’intérieur du répertoire [Install Dir]/junit3.7, donc nous devons mettre notre fichier de production là. Nous pourrions changer le “.” par un chemin absolu et placer le fichier de production n’importe où. Pour le moment, choisissons le nom évident junit.app pour notre fichier de production et [Install Dir]/junit3.7/junit.app pour le nom complet.

Ceci est excellent à condition que cette application rapide réside sur votre propre machine. Si vous employez des chemins absolus, vous pouvez déplacer junit.app n’importe où sur votre machine. Par contre, si vous êtes intéressés par l’utilisation de cette technique pour déployer des applications chez d’autres utilisateurs, vous devez employer des chemins relatifs. De cette manière votre application ne dépendra pas de la structure de répertoire de la machine de l’utilisateur. Dans notre cas, nous pouvons changer le chemin de classe par junit.jar:. , et cliquer sur “Build Application“.

Vous remarquerez que nous n’avons pas entré le nom de la suite en cours d’exécution. Pour ajouter un paramètre, choisissez l’onglet “Java Properties“. Vous verrez que vous pouvez y ajouter des propriétés et en modifier beaucoup d’autres. Si vous êtes tenté, ajoutez le paramètre junit.samples.AllTests et reconstruisez votre application. Dans ce cas, nous ne remarquerons pas de différence réelle, mais avec d’autres applications ceci sera utile.

Le premier challenge communautaire : Jini

La chose la moins évidente à obtenir pour une utilisation correcte de Jini est de faire en sorte que toutes les parties travaillent ensemble sur votre machine. Il y a beaucoup de sites qui ont mis en ligne de longues descriptions des étapes à franchir pour mettre sur pied rmid, un serveur de web, Reggie, Mahalo et Outrigger.

Notre premier défi sera d’employer les forums de discussion sur cette page de manière à concocter une solution très simple pour faire tourner Jini sur Mac OS X. Vous pouvez en découvrir plus sur Jini à Jini.org et dans la section Jini du sit web de Sun Microsystems. Vous pouvez faire tourner Jini avec un outil GUI inclut dans la distribution. Pour cela, chargez juste le fichier jini11_unix.properties que vous trouverez dans le répertoire …/jini1_1/example/launcher/.

Textes originaux sur O’Reilly Network : Running Java Applications on Mac OS X by Daniel H.Steinberg

Thierry Java ,

  1. Pas encore de commentaire
  1. Pas encore de trackbacks
Vous devez être identifié pour poster un commentaire