Bonjour à tous,

Je me suis remis depuis peu à créer des interfaces avec Swing pour Java. Dans mes applications j’utilise de nombreux fichiers pour permettre de séparer les actions voire utiliser une architecture MVC (Model – View – Controller). Souvent, lorsque j’effectue des tests en ayant modifié plusieurs classes je souhaite recompiler seulement quelques classes et pas toutes celles du dossier /src.

Pour améliorer mon workflow j’ai élaboré un simple Script en BASH qui vous permettra lorsque vous l’appelez de spécifier les fichiers à recompiler et d’exécuter celui que vous avez spécifié en premier.

Par exemple, j’ai de mon côté créé un raccourci pour lancer ce script avec la commande ‘jc’.
Contexte :
J’ai 3 fichiers code source : A.java, B.java, C.java
Je souhaite recompiler les 3 et lancer la classe B.
Je vais donc écrire ‘jc B.java A.java C.java’ ou ‘jc B.java C.java A.java’.

Attention: Pour utiliser ce script il faut que votre variable d’environnement CLASSPATH soit ‘../class’ et que vous travaillez dans une arborescence comme celle ci-dessous:

/
    src/
    ws/
    class/

Vous vous positionnerez dans le dossier ws pour le lancement du script et vos codes sources doivent être dans src/

if [ $# -gt 0  ]; then
    echo
    echo
    echo COMPILING :
    for i in "$@"
    do
        ls -l ../src/"$i".java
        javac -d ../class ../src/"$i".java
    done
    echo
    echo
    echo EXECUTING :
    java $1
else
    echo
    echo BASH: jc:  erreur de parametre
    echo
fi

J’espère que ce simple script vous permettra de gagner du temps lors du développement de vos projets. Si vous avez des questions n’hésitez pas à m’envoyer un mail ou un commentaire.