2013-10-23 12 views
5

All'interno della mia organizzazione, sono pesantemente regolamentato da un ente di sicurezza IT. In quanto tale, è vietato l'accesso ai mirror Maven. Tuttavia, posso fornire i dettagli delle dipendenze di cui ho bisogno in modo che gli enti di sicurezza IT possano eseguire i loro controlli/scansioni e, auspicabilmente, scaricare i binari per me.Siti Web Elenco dipendenze transitorie Maven

Quindi li installo nel mio repo locale Maven, il che significa che sono liberamente disponibili per il mio team all'interno del firewall.

La bellezza di Maven è che può identificare e scaricare le dipendenze transitive. Tuttavia, senza poter accedere ai file POM esterni, non posso eseguire questi controlli tramite la dipendenza Maven: tree.

Di conseguenza, devo fornire le dipendenze una tantum al reparto IT. Data la profondità di alcune catene di dipendenze, questo può richiedere del tempo per andare avanti/indietro con l'IT. In alternativa, faccio la dipendenza: albero a casa e spedisco i risultati a me stesso.

Mi chiedevo se qualcuno avesse qualche suggerimento di siti Web in cui posso richiedere queste informazioni? Quindi se voglio (dire) log4j: 1.2.17, mi dirà che devo anche chiedere javax.mail: mail: 1.4.3.

+0

Non è perfetto ma mvnrepository.com offre un livello di dipendenza con la loro versione. ex: http://mvnrepository.com/artifact/log4j/log4j/1.2.17 –

+0

@ Olivier.Roger rimarrai sorpreso dalla rapidità con cui diventa noioso! Molte librerie hanno catene di dipendenza molto più profonde di quanto ci si aspetterebbe. Stavo anche pensando di scrivere uno script di shell per scuotere la pagina, raschiare l'HTML e ripetere .... ma ho deciso che era un passo troppo lontano! – jwa

risposta

5

Purtroppo non sono a conoscenza di siti che forniscono tutte le informazioni sulla dipendenza transitiva, ma esiste una buona soluzione per il problema sottostante.

In particolare, è possibile provare a convincere la direzione a utilizzare un gestore di repository con una funzione di controllo artefatto.

Sonatype Nexuscertainly has this (vedi "Procurement Artifact"), JFrog Artifactoryseems to enable this as well (attraverso il controllo di licenza "), sia come comparse in edizioni a pagamento.

Tale approccio risparmiare tempo e denaro in lungo periodo manager repository sono molto meno fragili di un repo locale. In comune:

  • sono un ent esplicito per questo scopo (e Maven ha impostazioni specifiche esplicitamente destinate a lavorare con loro),
  • hanno meccanismi di autenticazione/autorizzazione dedicati che possono essere fatti per funzionare con quelli esistenti nella vostra azienda,
  • è possibile utilizzare la distribuzione plug-in con loro per pubblicare correttamente costruire artefatti,
  • ecc ecc

Un altro motivo rilevante che può oscillare il corpo di sicurezza è che siete in grado di utilizzare la stessa procedura di revisione sia per esterni e artefatti interni.

+0

Questo è interessante, implicherebbe insegnare al dipartimento IT più su java e su come funzionano le dipendenze (che potrebbero essere interessanti, dato che non parliamo la stessa lingua - letteralmente). Penso che questo sia un approccio ragionevole, e se nessun altro può proporre un servizio che offre questo, sembra la risposta giusta. – jwa

+0

@jwa: Mi fa piacere sentire che questa possibilità esiste nel tuo caso e tu hai le mie simpatie riguardo all'attuale configurazione. Passare a un gestore di repository ha più vantaggi, ovviamente, che è possibile utilizzare come ulteriore "argomento munizioni". –