java - create - gradle example
Construyendo vs. compilando(Java) (7)
Algunas de las respuestas que veo aquí están fuera de contexto y tienen más sentido si esta fuera una pregunta de C / C ++.
Version corta:
- "Compilar" está convirtiendo archivos .java en archivos .class
- ''Building'' es un término genérico que incluye la compilación y otras tareas.
"Construir" es un término genérico que describe el proceso general que incluye la compilación. Por ejemplo, el proceso de compilación puede incluir herramientas que generan código Java o archivos de documentación.
A menudo habrá fases adicionales, como "paquete" que toma todos sus archivos .class y los coloca en un .jar, o "clean" que limpia los archivos .class y los directorios temporales.
Pensando que la respuesta a esto es bastante obvia, pero aquí va:
Cuando estoy trabajando en un proyecto pequeño para la escuela (en Java) lo compilo .
En mi cooperativa estamos usando una hormiga para construir nuestro proyecto.
Creo que compilar es un subconjunto de la construcción. ¿Es esto correcto? ¿Cuál es la diferencia entre construir y compilar?
Relacionado:
¿Cuál es la diferencia entre compilar y construir?
Compilar es simplemente convertir el código fuente a binario, construir es compilar y vincular cualquier otro archivo necesario en el directorio de compilación.
En palabras simples
La compilación traduce el código java (legible por humanos) en bytecode, por lo que la máquina virtual lo entiende.
Building junta todas las partes compiladas y crea (crea) un ejecutable.
En realidad, estás haciendo lo mismo. Ant es un sistema de compilación basado en archivos de configuración XML que puede realizar una amplia gama de tareas relacionadas con la compilación de software. Compilar su código Java es solo una de esas tareas. Hay muchos otros, como copiar archivos, configurar servidores, montar cremalleras y jarras y compilar otros idiomas como C.
No necesita Ant para compilar su software. Puedes hacerlo manualmente como lo haces en la escuela. Otra alternativa a Ant es un producto llamado Maven. Tanto Ant como Maven hacen lo mismo, pero de maneras bastante diferentes.
La "compilación" es un proceso que cubre todos los pasos necesarios para crear un "entregable" de su software. En el mundo de Java, esto generalmente incluye:
- Generando fuentes (a veces).
- Compilando fuentes
- Compilando fuentes de prueba.
- Ejecución de pruebas (pruebas unitarias, pruebas de integración, etc.).
- Embalaje (en jar, war, ejb-jar, ear).
- Ejecución de controles de estado (analizadores estáticos como Checkstyle, Findbugs, PMD, cobertura de prueba, etc.).
- Generando informes.
Como puede ver, la compilación es solo una parte (pequeña) de la compilación (y la mejor práctica es automatizar por completo todos los pasos con herramientas como Maven o Ant y ejecutar la compilación continuamente, lo que se conoce como integración continua ).
La compilación es el acto de convertir el código fuente en código objeto.
La vinculación es el acto de combinar código objeto con bibliotecas en un ejecutable sin formato.
Building es la secuencia compuesta de compilación y enlace , posiblemente con otras tareas como la creación del instalador.
Muchos compiladores manejan el paso de enlace automáticamente después de compilar el código fuente.
¿Cuál es la diferencia entre el código de compilación y el código ejecutable?
- Build es una versión compilada de un programa.
- Compilar significa convertir (un programa) en un código de máquina o en un formulario de nivel inferior en el que se puede ejecutar el programa.
En Java : Build es un ciclo de vida que contiene una secuencia de fases nombradas.
por ejemplo: si tiene tres ciclos de vida de compilación, el siguiente es el ciclo de vida de compilación default
.
◾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.