Lancer une classe Java à partir d’un bash Windows

Publié dans Java | Marqué avec , , , , ,
Share

Continuons à faire un petit peu de MS-DOS. Cette fois-ci, le but est de lancer une classe Java contenant un main, à partir d’un bash (fichier .bat) Windows. La commande à utiliser est tout simplement la commande java, avec en paramètre :

  • le chemin vers les classes à utiliser et toutes les librairies éventuelles
  • l’environnement (par exemple les paramètres pour le NamingContext) : j’ai pas tout capté
  • le nom de la classe à appeler en premier (celle qui contient la méthode main)
  • les paramètres (on peut les faire précéder d’options -a, -b, -nimportequoi, de manière à faciliter leur récupération par le code Java)

Ce qui nous donne :

set CLASSPATH="C:/Projet/classes";"...librairie...jar"
set ENV=-Djava.naming.factory.initial="org.jnp.interfaces.NamingContextFactory" -Djava.naming.provider.url="jnp://127.0.0.1:1099"
set MAINCLASS=com.projet.MaClasse
set PARAMS=-a "param1" -b "param2"
java -cp %CLASSPATH% %ENV% %MAINCLASS% %PARAMS%

Et hop : ça lance la classe Java.
A l’occasion, il faudrait que je regarde le man pour la commande java sous Linux pour voir comment faire en bash. ça ne doit pas être bien plus compliqué !
L’intérêt derrière tout ça, c’est de pouvoir planifier le lancement de bouts de codes Java dans le temps. A l’aide d’un crontab (je ne sais plus quel est l’équivalent Windows), on lance à intervalle régulier le bash qui appelle la classe Java. Et c’est quand même pratique.

J’explique dans un autre billet comment récupérer proprement les paramètres dans le code Java.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *