2012-12-24 18 views
5

Possiedo un'applicazione Web confezionata come file war (inclusi diversi file jar). Ho notato che quando eseguo mvn install - gli unici progetti compilati sono quelli che sono stati modificati - quindi sostituisce questi jar nel file war.Quando usare mvn clean install al posto di mvn install?

Se questo è il caso, quando dovrei usare mvn clean install invece di usare semplicemente mvn install?

Immagino che se cambio qualche risorsa di quella che avrei dovuto usare mvn clean install - Ho ragione?

E se ho ragione, allora ogni volta che cambio solo le classi, mvn è installato abbastanza bene?

risposta

6

Principalmente, l'unica ragione per fare una pulizia è se si fa qualcosa che rimuovere o rinominare una classe o una risorsa nella directory di output, ad esempio rinominare un file .java o modificare qualcosa che generi classi in modo che li generi con nomi diversi. In questi casi, i vecchi file di classe o di risorse continueranno a esistere nella directory di output e potrebbero causare strani comportamenti.

Oltre a questo, basta installare, e starai bene. Quindi Maven costruirà solo ciò che deve essere costruito per aggiornare le directory di output.

+0

mvn install ricostruisce l'intero jar del modulo o ricompila e sostituisce l'unica classe java modificata all'interno del jar –

+0

Maven ha un ciclo di vita standard [http://maven.apache.org/guides/introduction/introduction-to-the -lifecycle.html) che segue per le build. Parte di questo ciclo di vita sta compilando tutti i file sorgente che non sono stati compilati o modificati dall'ultima compilazione. Dopo di ciò, un pacchetto viene creato dalle origini create. Il vecchio file JAR non verrà riutilizzato, ma l'imballaggio richiede un tempo minimo. –

0

Usa clean quando vuoi creare i tuoi progetti da zero. Se la tua build non impiega molto tempo, usa clean ogni volta che esegui build. Altrimenti dipende da te.

Sicuramente fallo se non sei sicuro che tutto sia effettivamente aggiornato.

+0

La mia build richiede molto tempo - questo è il motivo per cui voglio solo installare mvn. – Noam

Problemi correlati