Domanda

Qualcosa di simile è stato chiesto in Maven lista utenti ma ho la situazione, simile a quella.

ho un po 'di servizio, confezionato come .WAR, che è costruito da Maven. Tuttavia, questo file .WAR richiede personalizzazione: Ho bisogno di confezionare in modi diversi, a seconda input dell'utente. In sostanza, l'utente deve selezionare i componenti se stesso, vorrebbe aggiungere alla guerra, e definire alcune configurazioni semplici per questi componenti.

Che cosa devo fare è:

  1. Crea un'installatore "leggero", che non conterrà alcun Maven manufatti (o, se questo non è possibile, contenere tutti = installatore "pesante").
  2. Quando l'utente finale lancia dell'installatore, gli viene chiesto per la lista dei componenti per confezionare (= caselle di controllo)
  3. Per ogni componente, installatore chiede le opzioni di configurazione (poi essere salvato come file .property, uno per ogni componente)
  4. Installatore recupera allora solo i manufatti necessari (selezionato dall'utente + quelli che sono obbligatori), e sostituisce il file di proprietà (s) in quegli artefatti da coloro che dal punto 3 (o loro di "classi mette /").
  5. Infine crea pronto pacchetto WAR da usare e (opzionalmente) lancia Tomcat (o della banchina) in uno sfondo.

IzPack aiuta a risolvere il passaggio 2 solo. Ma c'è qualche soluzione universale per questo?

È stato utile?

Soluzione

Non conosco alcuna soluzione universale a farlo, in particolare qualcosa che pacchetto un GUERRA personalizzato. IzPack possono gather installare parametri (e forse contribuire a risolvere il punto 3), IzPack ha di una funzione avanzata denominata installatori web che potrebbero aiutare a risolvere il passaggio 4, ma a mia conoscenza, non è uno strumento di compilazione / confezionamento, in modo da non coprire fase 5 (la più importante).

Forse un archetipo Maven potrebbe aiutare qui (in modalità interattiva). Ma io non sono nemmeno sicuro un archetipo offrirà il livello di flessibilità necessaria. In altre parole, non sarà semplice.

In realtà, nel tuo caso, penso che Ant (con Maven Ant Task o Ivy) sarebbe l'opzione migliore. So che questo non è quello che hai chiesto, ma io non credo che Maven è lo strumento giusto per il vostro caso d'uso.

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