Domanda

Supponi di lavorare su un grande progetto, che viene eseguito su un server di applicazioni (diciamo Tomcat, ma potrebbe essere anche Jboss, o Jetty, o qualcos'altro). Il progetto consiste in diverse guerre, mentre ogni guerra contiene un sacco di barattoli. Il tutto è costruito usando Maven e ci vuole molto tempo per costruirlo tutto.

Ora, supponiamo che uno sviluppatore apporti una modifica in un solo modulo che produce un piccolo vaso. Per continuare a lavorare e testare la modifica, lo sviluppatore deve sostituire questo jar nelle guerre pertinenti e riavviare il server (a volte è sufficiente ridistribuire le guerre). È molto più veloce quindi ricostruire l'intera applicazione. Ho visto molti sviluppatori (me compreso) creare script di shell per questo compito.

Tuttavia, potrebbe essere molto più bello, se potesse essere fatto automaticamente usando Maven. Diciamo che quando si esegue "mvn install" il plug-in andrà anche in una posizione predefinita (ad esempio $ {tomcat} / webapps) e cercherà tutte le apparenze di myjar.jar e le sostituirà con una nuova versione (abbiamo più jar, ricordi? )

Qualcuno sa di un simile plugin? O potrebbe riguardare qualche altro strumento che può svolgere la stessa operazione? O qualche idea migliore su come farlo?

Aggiornato: comunque, se non trovo una soluzione, probabilmente la implementerò da solo. Quindi per favore fatemi sapere se siete interessati. Avrò bisogno di alcuni beta tester :)

Aggiornato: quindi ho creato il plug-in da solo. Vedi http://code.google.com/p/replace-file-plugin/ Qualsiasi feedback è apprezzato.

È stato utile?

Soluzione 2

Bene, tutte le funzionalità che ho chiesto in questa domanda, le ho implementate da solo.Vedi http://code.google.com/p/replace-file-plugin/ Apprezzerò qualsiasi feedback.

Altri suggerimenti

Dai un'occhiata a JRebel .Oscilla, riduce molto i tempi di sviluppo / distribuzione.C'è una prova gratuita di 30 giorni, quindi dai un'occhiata gratuitamente.Ho acquistato la mia licenza, la mia azienda ha impiegato alcune settimane per approvarne l'acquisto e non vedevo l'ora.

Seriosuly amico, è fantastico.Leggilo, può fare quello che vuoi.

Se puoi scrivere il tuo script come build Ant, puoi utilizzare Maven Antrunplugin per incorporare la build Ant nel ciclo di vita della build.

Restringiamo l'ambito a un solo file war, penso che lo ridimensioneresti tu stesso al tuo scenario senza problemi.

Puoi provare questa opzione: crea un modulo di assemblaggio finale che gira velocemente e combina tutti i moduli dipendenti in un file war.Quindi, se inizialmente esegui l'installazione mvn clean package per l'intera build, dovresti installare mvn clean package il modulo dependee modificato e rieseguire il modulo di assemblaggio finale per afferrare rapidamente la guerra aggiornata.Questo è uno schema di compilazione abbastanza stateful (e quindi soggetto a errori), ma dopo aver acquisito familiarità con questo approccio alla propagazione del cambiamento probabilmente penseresti che questa sia l'idea più semplice che potrebbe funzionare e funzionare più velocemente.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top