Sto cercando un modo per includere tutti i moduli in un progetto da un altro pom.xml. Quindi nel mio caso ho un pom genitore con l'imballaggio impostato su pom. Contiene 3 moduli figlio che implementano le mie interfacce in un altro modulo API. Voglio includere dinamicamente tutti i moduli figlio nel mio progetto in Maven.Come includere tutti i moduli dal progetto pom
In questo caso, desidero includere il connettore1, connettore2, connettore3 in un altro modulo senza dover specificare implicitamente il connettore 1,2,3.
connectors - packaging: pom
connector1 - packaging: jar
connector2 - packaging: jar
connector3 - packaging: jar
Ho provato a includere i connettori pom nel mio progetto ma questo non ha funzionato. Speravo che la specifica del pacchetto genitore con pom includesse i moduli figlio, ma questo non ha funzionato. Ci sono soluzioni alternative per come farlo?
Aggiornamento
questo è stato più di mia piccola fissazione perché volevo aggiungere semplicemente un singolo connettore e hanno tutti i vasetti delle dipendenze dei moduli bambino per il progetto da includere. Ciò renderebbe il pom un po 'più semplice da leggere.
Invece di dover registrare tutte le dipendenze figlio in questo modo
<dependencies>
<dependency>
<groupId>com.foo</groupId>
<artifactId>connector1</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.foo</groupId>
<artifactId>connector1-api</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.foo</groupId>
<artifactId>connector1-etl</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.foo</groupId>
<artifactId>connector1-persistence</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.foo</groupId>
<artifactId>connector2</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.foo</groupId>
<artifactId>connector2-api</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.foo</groupId>
<artifactId>connector2-etl</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.foo</groupId>
<artifactId>connector2-persistence</artifactId>
<version>0.0.1</version>
</dependency>
<dependency>
<groupId>com.foo</groupId>
<artifactId>connector2-other</artifactId>
<version>0.0.1</version>
</dependency>
...
</dependencies>
Questo è solo un esempio per chiarire la domanda iniziale. Non esiste e probabilmente avrebbe ripercussioni se funzionasse.
<dependencies>
<dependency>
<groupId>com.foo</groupId>
<artifactId>connector1</artifactId>
<version>0.0.1</version>
<type>pom</type>
<include>submodules</include>
</dependency>
<dependency>
<groupId>com.foo</groupId>
<artifactId>connector2</artifactId>
<version>0.0.1</version>
<type>pom</type>
<include>submodules</include>
</dependency>
</dependencies>
se non ricordo male stavo creando un progetto modulare per un sistema di ordinazione dove ho avuto un'API comune che il nostro sistema interno userebbe (REST). Stavo creando un sistema di routing in cui avrei potuto indirizzare un ordine a un singolo centro di evasione ordini in base a un criterio dell'ordine (paese, imposte prioritarie, ecc.). Ciascuno dei centri di evasione aveva le proprie API (connettori).
L'esempio è notevolmente semplificato nella domanda originale per rendere più conciso il problema. Nel progetto reale ogni connettore (1,2,3) sarebbe stato un pom separato con giare a dipendenza multipla. Uno per la loro API cliente, quindi un po 'di codice etl da abbinare alla mia API originale.
Non ricordo come ho risolto questo. Penso che dovessi solo includere tutte le dipendenze dei bambini.
Avete un progetto di esempio da qualche parte (github?) Dove possiamo ottenere un'impressione migliore di ciò che state provando a fare esattamente? – khmarbaise
@RobinJonsson La domanda non è chiara. Cosa significa esattamente * include * significa qui? Quale risultato finale vuoi? Vuoi dire che vuoi compilare automaticamente la sezione '' in POM 'connettori'? O da qualche altra parte? Potresti espandermi un po '? –
Tunaki
@Tunaki Il risultato che voglio è poter aggiungere nuovi pacchetti "connectorX" senza doverli specificare come dipendenze da qualche altra parte. Per esempio, ho un altro modulo che è confezionato come WAR. Vorrei aggiungere una dipendenza da WAR a "connettori", e ogni volta che aggiungo un nuovo "modulo-figlio" (forse connector4) ai connettori, è automaticamente impacchettato con il file WAR. Non ho il formato di imballaggio desiderato per i miei connettori. Non importa se i connettori sono confezionati come JAR separati o un uber-jar. Finché sono inclusi nella mia GUERRA. –