Sto costruendo un'applicazione distribuita basata su un'API HTTP front-end (leggi: web-facing) che chiama in sottostanti (leggi: non rivolti sul Web) Servizi di risparmio.Maven Multi-Module Project Structure
Come esempio, posso avere:
- autenticazione-service (contiene il codice per l'autenticazione)
- core-service (contiene fonti di risparmio generati ed alcune classi comuni come il rilevamento dei servizi e logica di inizializzazione
Tutti i singoli servizi dipendono dai servizi di base, così come l'API HTTP sul Web. Ho questo come progetto multi-modulo in questo momento, ma vorrei che ognuno di essi fosse separato (e rintracciato nei propri repository - anche se so che potrei comunque farlo con una build multi-modulo).
tl; dr -
È una pratica configurazione comune per avere un modulo (core-service) che è costruito individualmente e poi spinto ad un repo maven (e quindi incluso come un vaso nell'altro progetti), o sarebbe meglio in questo caso fare un progetto multi-modulo?
Grazie per avermi ricordato i miei problemi con il plugin di rilascio di Maven :-) –
Solo un commento a parte sull'uso di progetti multi-modulo - se i moduli hanno tutti un ciclo di vita diverso, allora non dovrebbero far parte dello stesso struttura multi-modulo. @ colin-morelli dovrebbe tenerne conto nella sua decisione. – whaley
@whaley Al momento attuale, hanno tutti lo stesso ciclo di vita (parzialmente perché sono tutti attualmente in un progetto multi-modulo). Tuttavia, il progetto è già abbastanza grande e richiede un po 'di tempo per costruire, testare e implementare. Idealmente, vorrei * piacere * arrivare al punto in cui possono essere rilasciati indipendentemente. –