Construction vs Compilation (Java)


Pensant que la réponse à cela est assez évidente mais voilà:

Lorsque je travaille sur un petit projet pour l'école (en java), je le compile.

Sur ma coop, nous utilisons ant pour construire notre projet.

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

Connexes:
Quelle est la différence entre compiler et construire?

Author: Community, 2010-04-16

7 answers

Le "Build" est un processus qui couvre toutes les étapes nécessaires à la création d'un "livrable" de votre logiciel. Dans le monde Java, cela inclut généralement:

  1. Générer des sources (parfois).
  2. Compilation des sources.
  3. Compilation des sources de test.
  4. l'Exécution de tests (tests unitaires, tests d'intégration, etc).
  5. Emballage (dans jar, war, ejb-jar, ear).
  6. Exécution de contrôles de santé (analyseurs statiques comme Checkstyle, Findbugs, PMD, couverture de test, etc).
  7. 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 Intégration Continue).

 174
Author: Pascal Thivent, 2010-04-16 05:28:06

Certaines des réponses que je vois ici sont hors contexte et ont plus de sens si c'était une question C/C++.

Version courte:

  • "Compiler" tourne .fichiers java dans .fichiers de classe
  • 'Construire" est un terme générique qui inclut la compilation et d'autres tâches.

"Construire" est unterme générique décrit leprocessus global qui comprend la compilation. Par exemple, le processus de génération peut inclure des outils qui génèrent du code Java ou fichiers de documentation.

Souvent, il y aura des phases supplémentaires, comme "package" qui prend tout votre .fichiers de classe et les met dans un .pot, ou " propre "qui nettoie.fichiers de classe et répertoires temporaires.

 32
Author: Darien, 2010-04-16 02:46:35

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

Lier est l'acte de combiner du code objet avec des bibliothèques dans un exécutable brut.

Construire est la séquence composée de compileret lier, avec éventuellement d'autres tâches telles que la création de l'installateur.

De nombreux compilateurs gèrent automatiquement l'étapelinking après la compilation du code source.

Quelle est la différence entre la compilation code et code exécutable?

 22
Author: Kaili, 2017-05-23 11:55:05

En mots simples

Compilation traduit le code java (humain lisibles) dans le bytecode, donc le La machine virtuelle le comprend.

La construction met toutes les parties compilées ensemble et crée (construit) un exécutable.

 8
Author: Tom, 2015-12-11 15:17:21

En Fait, vous faites la même chose. Ant est un système de construction basé sur des fichiers de configuration XML qui peut effectuer un large éventail de tâches liées à la compilation de logiciels. Compiler votre code java n'est qu'une de ces tâches. Il y en a beaucoup d'autres tels que la copie de fichiers, la configuration de serveurs, l'assemblage de zips et de fichiers jar et la compilation d'autres langages tels que C.

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

Recherche Antet Maven pour plus de détails.

 4
Author: drekka, 2010-04-16 02:26:25
  • Construire est une version compilée d'un programme.
  • Compiler signifie convertir (un programme) en un code machine ou une forme de niveau inférieur dans lequel le programme peut être exécuté.

En Java: Build est un cycle de vie contenant une séquence de phases nommées.

Par exemple: maven il a trois cycles de vie de construction, le suivant est default cycle de vie de construction.

◾validate - validate the project is correct and all necessary information is available
◾compile - compile the source code of the project
◾test - test the compiled source code using a suitable unit testing framework. These tests should not require the code be packaged or deployed
◾package - take the compiled code and package it in its distributable format, such as a JAR.
◾integration-test - process and deploy the package if necessary into an environment where integration tests can be run
◾verify - run any checks to verify the package is valid and meets quality criteria
◾install - install the package into the local repository, for use as a dependency in other projects locally
◾deploy - done in an integration or release environment, copies the final package to the remote repository for sharing with other developers and projects.
 2
Author: Premraj, 2018-04-17 13:05:07

Compiler, c'est simplement convertir le code source en binaire, construire, c'est compiler et lier tous les autres fichiers nécessaires dans le répertoire de construction

 0
Author: patrickandroid, 2010-04-16 02:26:35