sixtyfootersdude
Pensando que la respuesta a esto es bastante obvia, pero aquí va:
Cuando estoy trabajando en un pequeño proyecto para la escuela (en java) compilar eso.
En mi gallinero estamos usando hormigas para construir nuestro proyecto.
Creo que la compilación 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?
pascal ladrón
La “Construcción” es un proceso que cubre todos los pasos necesarios para crear un “entregable” de su software. En el mundo de Java, esto normalmente incluye:
- Fuentes generadoras (a veces).
- Compilación de fuentes.
- Compilación de fuentes de prueba.
- Ejecución de pruebas (pruebas unitarias, pruebas de integración, etc).
- Envasado (en tarro, guerra, ejb-tarro, oreja).
- Ejecutar controles de salud (analizadores estáticos como Checkstyle, Findbugs, PMD, cobertura de prueba, etc.).
- Generación de informes.
Entonces, como puede ver, la compilación es solo una (pequeña) parte de la compilación (y la mejor práctica es automatizar completamente todos los pasos con herramientas como Maven o Ant y ejecutar la compilación continuamente, lo que se conoce como Integración continua).
-
¿Por qué llamarlo “Integración Continua” en lugar de “Construcción Continua”?
–Quazi Irfan
18 de junio de 2016 a las 22:57
-
@Pascal, Re “ejecutar la compilación continuamente”.. “la construir” ¿se refiere a?
– Pacerier
03/08/2016 a las 20:54
-
@Pacerier “la construcción” se refiere a todos los pasos 1.-7.; “continuamente” no significa que comience la próxima compilación inmediatamente después de que finalice la primera, sino solo en los cambios en el proyecto.
– Michelek
3 de octubre de 2017 a las 7:13
-
y cuando genera fuentes como mencionas en el punto 1 (Generando fuentes (a veces).)
– Deepak Gupta
15 de julio de 2018 a las 9:12
-
@QuaziIrfan Porque está verificando que su código nuevo o actualizado se integre con la base de código existente. Es decir, que sus cambios se compilen, que cumplan con los estándares y requisitos de codificación del equipo, que su funcionalidad básica sea buena y que no rompan la buena compilación actual. En otras palabras, que sus actualizaciones se integren bien con el código base existente. HTH
– Rob Wells
26 oct 2020 a las 17:40
Algunas de las respuestas que veo aquí están fuera de contexto y tendrían más sentido si se tratara de una pregunta de C/C++.
Version corta:
- “Compilar” es convertir archivos .java en archivos .class
- ‘Construir’ es un término genérico que incluye la compilación y otras tareas.
“Edificio” es un genérico término describe el general proceso 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 “limpiar”, que limpia los archivos .class y los directorios temporales.
Kaili
Compilando es el acto de convertir el código fuente en código objeto.
Enlace es el acto de combinar código objeto con bibliotecas en un ejecutable sin procesar.
Edificio es la secuencia compuesta por compilando y enlaceposiblemente con otras tareas como la creación del instalador.
Muchos compiladores manejan el enlace paso 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?
-
Algunas otras tareas posibles: mejora (JDO), Javadoc-ing, empaquetado y firma. Además, algunos entornos incluyen la ejecución de pruebas unitarias/de regresión automatizadas como parte de una “compilación”.
– Berto F.
16 de abril de 2010 a las 3:32
-
Normalmente, no hay un paso de vinculación cuando se construyen proyectos Java y no se produce ningún ejecutable sin formato. Más bien, las clases compiladas se empaquetan juntas en un archivo .jar como parte de la compilación. (O .war o .ear, según el entorno de destino).
– Markusk
16 de abril de 2010 a las 5:12
-
¿Qué son los “ejecutables en bruto”?
– ealeón
23 de julio de 2013 a las 18:15
-
La bolsa de bits que es básicamente inútil por sí sola sin mezclarse con las otras bibliotecas que necesita. Es muy parecido a un pastel de chocolate. Sin la harina y los huevos, etc., el cacao es solo cacao crudo.
– Kaili
31 de julio de 2013 a las 19:45
Tomás
En palabras simples
La compilación traduce el código Java (legible por humanos) en código de bytes, para que la máquina virtual lo entienda.
Building reúne todas las partes compiladas y crea (construye) un ejecutable.
Premraj
- Construir es una versión compilada de un programa.
- Compilar significa, convertir (un programa) en un código de máquina o en una forma de nivel inferior en la que se puede ejecutar el programa.
en Java: Construir es un ciclo de vida que contiene una secuencia de fases con nombre.
por ejemplo: maven tiene tres ciclos de vida de construcción, el siguiente es default
construir el ciclo de vida.
◾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.
drekka
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, ensamblar zips y jars, y compilar otros lenguajes como C.
No necesita Ant para compilar su software. Puedes hacerlo manualmente como lo estás haciendo en la escuela. Otra alternativa a Ant es un producto llamado Maven. Tanto Ant como Maven hacen lo mismo, pero de maneras muy diferentes.
Sam
En Eclipse e IntelliJ, el proceso de compilación consta de los siguientes pasos: limpiar los paquetes anteriores, validar, compilar, probar, empaquetar,
integración, verificar, instalar, implementar.