In che modo posso implementare la dipendenza della fonte Maven tra progetti di pari livello?

StackOverflow https://stackoverflow.com/questions/602905

  •  03-07-2019
  •  | 
  •  

Domanda

Ho un progetto java composto da 3 sottoprogetti che generano un artefatto .jar ciascuno (e hanno delle dipendenze secondarie tra loro). Inoltre c'è un progetto web che dipende dai primi 3 progetti e genera un file di guerra. Il dossier di guerra è il mio artefatto finale, ovvero ciò che spedisco ai miei clienti.

Inoltre ho un modulo genitore che comprende tutti gli altri progetti:

<modules>
    <module>../core</module>
    <module>../commons</module>
    <module>../api</module>
    <module>../web</module>
</modules>

Genero file eclipse (mvn eclipse: eclipse) e lavoro con eclipse. Il problema è se modifico uno dei progetti non web che devo installarlo manualmente prima di distribuire il progetto web nel mio contenitore web. Come posso fare in modo che il progetto web dipenda direttamente dal codice sorgente degli altri e non dalla versione installata nel repository.

È stato utile?

Soluzione

Nelle proprietà dell'applicazione Web (fare clic con il pulsante destro del mouse sul progetto in Esplora pacchetti, quindi "proprietà"), aggiungere i tre moduli (core, commons e api) in "Dipendenze modulo J2EE" (gli altri moduli devono essere aperti nell'area di lavoro di Eclipse).

Altri suggerimenti

Desideri aggiungere una dipendenza dai vasi di origine distribuiti nel repository?

In tal caso, puoi farlo aggiungendo il classificatore fonti alla dipendenza. Vedi questa risposta per maggiori dettagli.

In caso contrario, puoi chiarire ulteriormente per favore.

Penso che il tuo problema sia che stai solo costruendo il progetto di guerra. Se lo stai costruendo dalla riga di comando, allora quello che devi costruire è il modulo genitore. "pacchetto mvn" nella directory che contiene il modulo genitore dovrebbe essere sufficiente. Ovviamente questo significa che devi creare tutti i pacchetti ogni volta, ma è così che funziona Maven.

La dipendenza: l'obiettivo dell'albero da solo cercherà le cose nel repository anziché nel reattore. Puoi aggirare questo problema installando mvn, come suggerito in precedenza, o facendo qualcosa di meno oneroso che invoca il reattore, come

  

dipendenza compilazione mvn: albero

Funziona per me.

Modifica: D'oh! Inserita questa risposta alla domanda sbagliata. Doveva rispondere questo

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