153 votes

Bâtiment vs Compilation (Java)

Penser que la réponse à cette question est assez évident, mais ici, il va:

Lorsque je travaille sur un petit projet pour l'école (en java) j'ai compiler .

Sur ma coop, nous sommes en utilisant ant à construire notre projet.

Je pense que la compilation est un sous-ensemble de la construction. Est-ce correct? Quelle est la différence entre la construction et la compilation?

Connexes:
Quelle est la différence entre la compilation et de la construction?

247voto

Pascal Thivent Points 295221

Le "Build" est un processus qui couvre toutes les étapes nécessaires pour créer un "livrable" de votre logiciel. Dans le monde Java, cela comprend généralement:

  1. Des sources (parfois).
  2. La compilation des sources.
  3. La compilation de sources de test.
  4. L'exécution de tests (tests unitaires, tests d'intégration, etc).
  5. L'emballage (en jar, war, ejb-jar, ear).
  6. L'exécution des contrôles de santé (analyseurs statiques comme Checkstyle, Findbugs, de la DGM, de la couverture de test, etc).
  7. La génération de rapports.

Donc, comme vous pouvez le voir, la compilation n'est qu'une (petite) partie de la construction (et la meilleure pratique consiste à automatiser toutes les étapes avec des outils comme Maven ou Ant et exécuter le construire en permanence qui est connu comme l' Intégration Continue).

47voto

Darien Points 2025

Certaines des réponses que je vois ici sont hors de leur contexte et faire plus de sens que s'il s'agissait d'un C/C++ question.

Version courte:

  • "Compilation" est en train de tourner .les fichiers java .les fichiers de classe
  • "Building" est un terme générique qui inclut la compilation et à d'autres tâches.

"Bâtiment" est un générique du terme décrit l' ensemble des processus qui comprend la compilation. Par exemple, le processus de génération peut inclure des outils qui génèrent du code Java ou les fichiers de documentation.

Souvent il y aura des phases, comme le "package" qui prend tous vos .les fichiers de classe et les met dans une .jar, ou "propre" qui nettoie .classe les fichiers et les répertoires temporaires.

37voto

Kaili Points 724

La compilation est l'acte de transformer le code source en code objet.

La liaison est la loi de la combinaison de code objet avec des librairies dans le raw d'un exécutable.

La construction est la séquence, composé de la compilation et la liaison, avec éventuellement d'autres tâches telles que le programme d'installation de la création.

De nombreux compilateurs gérer la liaison étape automatiquement après la compilation du code source.

http://stackoverflow.com/questions/2310261/what-is-the-difference-between-compiling-and-building

12voto

Tom Points 16783

Dans des mots simples

Compilation traslates code java (de l'homme lisible) en bytecode, de sorte que le De la machine virtuelle, il comprend.

Bâtiment met compilé toutes les pièces togheter et crée (construit) une exécutable.

4voto

drekka Points 10020

En fait, vous faites la même chose. Ant est le système de construction basé sur des fichiers de configuration XML qui peut faire un large éventail de tâches liées à la compilation de logiciels. La compilation de votre code java est juste un de ces tâches. Il y a beaucoup d'autres, telles que la copie de fichiers, configuration des serveurs, montage de fermetures à glissière et les pots, et la compilation d'autres langues telles que le C.

Vous n'avez pas besoin Ant pour compiler votre logiciel. Vous pouvez le faire manuellement comme vous le faites à l'école. Une autre alternative à la Fourmi est un produit appelé Maven. Les deux Ant et Maven faire la même chose , mais de manières très différentes.

Recherche Ant et Maven pour plus de détails.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X