Domanda

Nel negozio di sviluppo per cui lavoro, abbiamo un repository MAVEN interno, per mantenere le nostre librerie (proprietarie & open-souce). Un problema comune che affrontiamo è che, a volte, le librerie open source nel nostro repository MAVEN locale diventano obsolete. Esiste un modo automatico per mantenere sempre aggiornate tutte le librerie open source che utilizzo nel mio repository MAVEN? Cosa suggerisci per risolvere questo problema?

È stato utile?

Soluzione

Supponendoti:

  • Non voglio scaricare tutto
  • Non voglio eseguire un altro server processo
  • Voglio solo tenere traccia di un numero limitato di progetti

Potresti voler creare un file pom.xml separato con dipendenze come questa:

<dependency>
    <groupId>org.openfoo</groupId>
    <artifactId>jfoo</artifactId>
    <version>[1.0.0,2.0.0)</version>
</dependency>

Questo dirà a Maven di usare jfoo 1.0.0 fino a jfoo 2.0.0, quindi quando jfoo rilascerà la versione 1.2.17, supporterai che nella prossima build supponendo che le tue impostazioni siano impostate per controllare le versioni ogni volta.

Questo pom non deve davvero costruire nulla. Elenca solo quelle cose che vuoi monitorare.

In esecuzione:

 cd the-path-to-the-project; mvn -q -B -U package

Via cron una volta al giorno aggiornerà tutte le dipendenze in quel pom e segnalerà solo quando c'è un problema

A proposito, questo è un trucco. Se il numero di sviluppatori è > 3 e hai le risorse per eseguire Nexus, non preoccuparti dell'hacking.

Altri suggerimenti

Archiva è stato menzionato, ma nexus sembra più popolare. Entrambi sono stati progettati per risolvere problemi come quello che stai riscontrando

Dai un'occhiata a Apache Archiva , un gestore di repository per Maven.

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