Come fare riferimento a pacchetti GitHub pubblici dal progetto maven
Ho un repository GitHub con una libreria pubblicata nel proprio repository Maven dei pacchetti GitHub. E ho anche un altro progetto in cui voglio fare riferimento a questa libreria come dipendenza.
Quando aggiungo la seguente configurazione al file POM del mio progetto, semplicemente non funziona.
<repositories>
<repository>
<id>github</id>
<name>GitHub Packages</name>
<url>https://maven.pkg.github.com/test-account/test-lib</url>
</repository>
</repositories>
Mi richiede di autenticarmi. Capisco che questo sia abbastanza logico in quanto fondamentalmente non è un repository di sorgenti ma un repository esperto sottostante. Ma c'è un modo per avere un normale accesso esperto a questa dipendenza? La mia libreria è nel repository pubblico.
PS Per favore, non suggerire di usare Jitpack perché vorrei avere una soluzione pulita senza risorse aggiuntive.
Risposte
La risposta sembra essere "non puoi". Vedi questo commento di un membro dello staff di GitHub :
Il nostro servizio Maven non consente l'accesso non autorizzato in questo momento. Abbiamo in programma di offrire questo servizio in futuro, ma prima dobbiamo migliorare un po 'il servizio.
Per ora l'opzione più semplice sembra essere quella di creare un token di accesso personale con accesso in lettura e includerlo nell'URL della <repository>sezione nel tuo pom.xml, in questo modo:
<repository>
<id>github</id>
<name>GitHub Packages</name>
<url>https://my-user:[email protected]/my-user/my-repo</url>
</repository>
Altrimenti, le opzioni sono probabilmente:
- Crea un token di accesso personale con accesso in lettura e condividilo con il mondo intero.
- Utilizzare la soluzione alternativa descritta qui
- Pubblica su Maven Central (ma questo è un intero mondo di dolore)