Ho cercato in giro per anni cercando di trovare una soluzione al mio problema, ma tutti gli altri post che ho trovato non funzionano o non corrispondono al mio situazione, quindi spero che qualcuno possa darmi qualche intuizione.Come scaricare Ivy per scaricare fonti dal repository Nexus
Ho una libreria con la quale sono stato creato, che emette 2 file jar, uno come normale contenente la versione compilata della libreria e un altro contenente solo i file sorgente.
Questa libreria viene caricata nel nostro repository Nexus con la confezione impostata su jar. Per il file jar effettivo ho impostato l'estensione su jar e lascia vuoto il classificatore. Per il jar sorgente ho impostato il classificatore alle fonti e l'estensione al jar.
Non importa quello che faccio con il mio file ivy.xml Non riesco a farlo scaricare il vaso dei sorgenti. Sulla base di messaggi che ho letto altrove ho provato ad aggiungere:
conf="*->default,sources"
alla mia dipendenza, ma poi ho un errore:
configuration not found in org#name;version: 'sources'
Quindi questo è fondamentalmente aspetta la mia libreria per definire fonti come configurazione da qualche parte ? Ho pensato che avrebbe solo preso atto del fatto che esiste un altro artefatto con il classificatore impostato su fonti nel repository.
Qualcuno può darmi altri suggerimenti su cosa potrei fare male sia con il modo in cui ho pubblicato la mia libreria su Nexus, sia con come ho impostato la mia dichiarazione di dipendenza nel mio file Ivy.
Questo è il file Ivy.xml di base in cui sto definendo la mia dipendenza dalla libreria che ho inserito in Nexus.
<ivy-module version="2.0">
<info organisation="${ivy.organisation}" module="moduleName" />
<configurations>
<conf name="pda" description="moduleName for PDA"/>
<conf name="server" description="moduleName for server"/>
</configurations>
<dependencies>
<!-- Internal -->
<dependency name="utility" org="${ivy.organisation}" rev="latest.integration" conf="${ivy.configuration}"/>
<dependency name="myLib" org="my.org" rev="0.0.+"/>
</dependencies>
</ivy-module>
In risposta ai commenti qui sotto, la proprietà ivy.configuration è impostato su PDA dentro le mie build.properties per Ant. Per Eclipse ho creato un file delle proprietà e impostato ivy.configuration su pda (questo file delle proprietà viene quindi referenziato nelle impostazioni Ivy all'interno di Eclipse).
Il messaggio di errore che ottengo è:
Some projects fail to be resolved
Impossible to resolve dependencies of ${ivy.organisation}#moduleName;[email protected]
unresolved dependency: my.org#myLib;0.0.+: configuration not found in my.org#myLib;0.0.0: 'sources'. It was required from ${ivy.organisation}#moduleName;[email protected] pda
UPDATE Ecco il file ivy.xml risolto:
<?xml version="1.0" encoding="UTF-8"?>
<ivy-module version="2.0">
<info organisation="my.org"
module="myLib"
revision="0.0.0"
status="release"
publication="20120419131909"
default="true"
/>
<configurations>
<conf name="default" visibility="public"/>
</configurations>
<publications>
<artifact name="myLib" type="jar" ext="jar" conf="default"/>
</publications>
</ivy-module>
Questo spiega il motivo per cui, ovviamente, non riesce a trovare il 'fonti' conf. Ma avevo l'impressione che le fonti conf dovrebbero essere aggiunte automaticamente perché ho aggiunto le fonti a Nexus.
puoi stampare il tuo ivy.xml? – Matt
Per il file ivy precedente, specifica quale configurazione eseguire nel mio file delle proprietà della formica o utilizzando IvyDE in Eclipse (e nel mio caso è la configurazione PDA che sto eseguendo) – DaveJohnston
@DaveJohnston l'ho letto correttamente? non usi l'attività di pubblicazione di edera, ma copi manualmente i file e il file ivy.xml sopra nel repository? Se questo è il tuo ivy.xml manca i tag di pubblicazione, che sono necessari per il recupero. – oers