Creazione e compilazione (Java)


Pensando che la risposta a questo è abbastanza ovvia ma qui va:

Quando sto lavorando su un piccolo progetto per la scuola (in java) io compilare esso.

Sul mio coop stiamo usando ant per costruire il nostro progetto.

Penso che la compilazione sia un sottoinsieme di costruzione. È corretto? Qual è la differenza tra building e compiling?

Correlati:
Qual è la differenza tra compilazione e costruzione?

Author: Community, 2010-04-16

7 answers

La "Build" è un processo che copre tutti i passaggi necessari per creare un "deliverable" del software. Nel mondo Java, questo in genere include:

  1. Generazione di sorgenti (a volte).
  2. Compilazione di sorgenti.
  3. Compilazione di sorgenti di test.
  4. Esecuzione di test (test unitari, test di integrazione, ecc.).
  5. Imballaggio (in vaso, guerra, ejb-jar, orecchio).
  6. Esecuzione di controlli di integrità (analizzatori statici come Checkstyle, Findbugs, PMD, copertura dei test, ecc).
  7. Generazione di report.

Quindi, come puoi vedere, la compilazione è solo una (piccola) parte della build (e la migliore pratica è quella di automatizzare completamente tutti i passaggi con strumenti come Maven o Ant e di eseguire la build continuamente che è nota come Integrazione continua ).

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

Alcune delle risposte che vedo qui sono fuori contesto e hanno più senso se questa fosse una domanda C/C++.

Versione breve:

  • "Compilazione" sta girando .file java in .file di classe
  • 'Building" è un termine generico che include la compilazione e altre attività.

"Building" è un termine generico che descrive il processo complessivo che include la compilazione. Ad esempio, il processo di compilazione potrebbe includere strumenti che generano codice Java o file di documentazione.

Spesso ci saranno fasi aggiuntive, come "pacchetto" che prende tutto il tuo .file di classe e li mette in un .vaso, o "pulito" che pulisce fuori .file di classe e directory temporanee.

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

Compilare è l'atto di trasformare il codice sorgente in codice oggetto.

Il collegamento è l'atto di combinare il codice oggetto con le librerie in un eseguibile raw.

Costruire è la sequenza composta da compilaree collegare, con eventualmente altre attività come la creazione dell'installatore.

Molti compilatori gestiscono il passaggio di collegamento automaticamente dopo la compilazione del codice sorgente.

Qual è la differenza tra compile codice e codice eseguibile?

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

In parole semplici

La compilazione traduce il codice java (umano leggibile) in bytecode, quindi il La macchina virtuale lo capisce.

Building mette tutte le parti compilate insieme e crea (costruisce) un eseguibile.

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

In realtà stai facendo la stessa cosa. Ant è costruire un sistema basato su file di configurazione XML che può fare una vasta gamma di attività relative alla compilazione del software. La compilazione del codice java è solo una di queste attività. Ci sono molti altri come la copia di file in giro, la configurazione dei server, l'assemblaggio di zip e jar, e la compilazione di altri linguaggi come C.

Non hai bisogno di Ant per compilare il tuo software. Puoi farlo manualmente come stai facendo a scuola. Un'altra alternativa alla formica è un prodotto chiamato Maven. Sia Ant che Maven fanno la stessa cosa , ma in modi molto diversi.

Ricerca Ante Maven per maggiori dettagli.

 4
Author: drekka, 2010-04-16 02:26:25
  • Build è una versione compilata di un programma.
  • Compilare significa convertire (un programma) in un codice macchina o in un modulo di livello inferiore in cui il programma può essere eseguito.

In Java : Build è un ciclo di vita contiene una sequenza di fasi denominate.

Ad esempio: maven ha tre cicli di vita di build, il seguente è default ciclo di vita di build.

◾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

La compilazione sta semplicemente convertendo il codice sorgente in binario, la compilazione sta compilando e collegando tutti gli altri file necessari nella directory di compilazione

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