2009-11-01 13 views
0

Je regarde beaucoup de petits programmes Java. Il serait pratique que je puisse configurer un répertoire (ou une structure de répertoire) sur mon Mac où, chaque fois que j'ajoute un fichier .java, javac s'exécute automatiquement et tente de compiler ce fichier. J'ai brièvement examiné les actions d'Automator, mais je n'ai rien trouvé qui corresponde à la facture. Puis j'ai commencé à penser: sur mon PC, j'utiliserais la classe .Net FileSystemWatcher et j'écrirais le code moi-même. Mais avant d'essayer cela sur mon Mac avec Mono, je veux demander à la communauté d'autres idées. Tout conseil est apprécié. Merci.Compile automatiquement toute classe Java lorsque le fichier est déposé dans un répertoire

Répondre

1

En JDK6 vous pouvez compiler par programme, donc vous pouvez écrire votre propre programme pour ce faire, ce qui peut être légèrement mieux que de le faire en mono.

Donc vous auriez juste un programme qui est toujours en cours d'exécution, il cherche soit de nouveaux fichiers ou un fichier qui a été modifié depuis la dernière vérification et ensuite les compile, et vous pouvez le vouloir transmettre des informations à un fenêtre de tableau de bord lorsqu'il y a des erreurs, et peut-être quelques informations d'état afin que vous sachiez que cela fonctionne.

http://binkley.blogspot.com/2005/09/programmatically-compiling-java-in-jdk.html

+0

Idée très intéressante. Merci! – Alan

1

Si vous avez tous les fichiers .java disponibles au début, vous pouvez écrire un script shell pour les compiler tous en un seul passage - dans des répertoires différents si nécessaire.

Si vous avez expliqué pourquoi vous voudriez ceci, peut-être que je/nous pourrions être plus utiles.

+0

Merci pour la suggestion. Quant à savoir pourquoi: J'enseigne un cours de programmation d'introduction, donc je regarde beaucoup de petits programmes Java. Ce n'est pas un tueur de travailler sur la ligne de commande, mais je dois réfléchir à la façon de rationaliser les choses. – Alan

+0

Ayant moi-même enseigné des cours de programmation d'introduction, je l'ai deviné. La ligne de commande * est idéale pour rationaliser les choses, si vous me le demandez. – Thomas