Je suggérerais également d'utiliser un certain type d'outil de construction (Ant ou Maven, Ant est déjà suggéré et est plus facile à démarrer) ou un IDE qui gère la compilation (Eclipse utilise une compilation incrémentielle avec une stratégie de réconciliation, et vous n'avez même pas besoin de vous soucier d'appuyer sur un quelconque bouton "Compiler").
Utilisation de Javac
Si vous devez essayer quelque chose pour un projet plus important et que vous n'avez pas d'outils de construction appropriés à proximité, vous pouvez toujours utiliser une petite astuce que javac
propose : les noms de classe à compiler peuvent être spécifiés dans un fichier. Il vous suffit de passer le nom du fichier à javac
avec le préfixe @
.
Si vous pouvez créer une liste de tous les fichiers *.java
de votre projet, c'est facile :
# Linux / MacOS
$ find -name "*.java" > sources.txt
$ javac @sources.txt
:: Windows
> dir /s /B *.java > sources.txt
> javac @sources.txt
- L'avantage est que c'est une solution rapide et facile.
- L'inconvénient est que vous devez régénérer le fichier
sources.txt
à chaque fois que vous créez un nouveau fichier source ou que vous en renommez un existant, ce qui est une tâche facile à oublier (donc sujette aux erreurs) et fastidieuse.
Utilisation d'un outil de construction
À long terme, il est préférable d'utiliser un outil conçu pour construire des logiciels.
Utilisation de Ant
Si vous créez un simple fichier build.xml
qui décrit comment construire le logiciel :
vous pouvez compiler l'ensemble du logiciel en exécutant la commande suivante :
$ ant
- L'avantage est que vous utilisez un outil de construction standard qui est facile à étendre.
- L'inconvénient est que vous devez télécharger, configurer et apprendre un outil supplémentaire. Notez que la plupart des IDE (comme NetBeans et Eclipse) offrent un excellent support pour l'écriture des fichiers de construction afin que vous n'ayez rien à télécharger dans ce cas.
Utilisation de Maven
Maven n'est pas si trivial à configurer et à utiliser, mais apprendre à l'utiliser en vaut la peine. Voici un excellent tutoriel pour démarrer un projet en 5 minutes.
- Son principal avantage (pour moi) est qu'il gère également les dépendances, vous n'aurez donc pas besoin de télécharger d'autres fichiers Jar et de les gérer manuellement, et je l'ai trouvé plus utile pour la construction, l'emballage et les tests de projets plus importants.
- L'inconvénient est qu'il a une courbe d'apprentissage abrupte, et si les plugins Maven aiment à supprimer les erreurs :-) Une autre chose est que beaucoup d'outils fonctionnent également avec les référentiels Maven (comme Sbt pour Scala, Ivy pour Ant, Graddle pour Groovy).
Utilisation d'un IDE
Ce qui pourrait augmenter votre productivité en développement. Il existe quelques alternatives open source (comme Eclipse et NetBeans, je préfère le premier) et même des alternatives commerciales (comme IntelliJ) qui sont assez populaires et puissantes.
Ils peuvent gérer la construction du projet en arrière-plan afin que vous n'ayez pas à vous occuper de tout le travail en ligne de commande. Cependant, il est toujours utile de savoir ce qui se passe réellement en arrière-plan pour pouvoir traquer les erreurs occasionnelles comme une ClassNotFoundException
.
Une note additionnelle
Pour les projets plus importants, il est toujours conseillé d'utiliser un IDE et un outil de construction. Le premier augmente votre productivité, tandis que le second permet d'utiliser différents IDE avec le projet (par exemple, Maven peut générer des descripteurs de projet Eclipse avec une simple commande mvn eclipse:eclipse
). De plus, disposer d'un projet qui peut être testé/construit avec une seule commande est facile à présenter à de nouveaux collègues et à un serveur d'intégration continue, par exemple. Un jeu d'enfant :-)
2 votes
Tu devrais vraiment jeter un coup d'œil aux outils comme Ant ou Maven.
0 votes
Ce post SO pourrait être utile stackoverflow.com/questions/864630/…