Maven 3 + Nexus 2.0.4

46 views
Skip to first unread message

Giampaolo Melis

unread,
May 8, 2012, 11:59:42 AM5/8/12
to JUG Genova
Ciao a tutti,
sto tentando di fare il deploy di un archetype su nexus con la
seguente configurazione:

Netbeans 7.0.1 --> Maven 3.0.3 embedded.
Nexus OSS 2.0.4-1 con LDAP configurato su active directory.

POM:

....
<distributionManagement>
<repository>
<id>aor-releases</id>
<name>AOR Releases</name>
<url>http://geed20120:8081/nexus/content/repositories/releases</url>
</repository>
<snapshotRepository>
<id>aor-snapshots</id>
<name>AOR Snapshots</name>
<url>http://geed20120:8081/nexus/content/repositories/snapshots</url>
</snapshotRepository>
</distributionManagement>
....

settings:
....
<servers>
<server>
<id>aor-snapshots</id>
<username>deployment</username>
<password>deployment123</password>
</server>
<server>
<id>aor-releases</id>
<username>deployment</username>
<password>deployment123</password>
</server>
</servers>
....

Con conseguente errore:

Failed to execute goal
org.apache.maven.plugins:maven-deploy-plugin:2.5:deploy
(default-deploy) on project AOR-archetype: Failed to deploy artifacts:
Could not find artifact
com.selexelsag:AOR-archetype:jar:1.0-20120508.152216-1 in
aor-snapshots (http://geed20120:8081/nexus/content/repositories/snapshots)
-> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to
execute goal org.apache.maven.plugins:maven-deploy-plugin:2.5:deploy
(default-deploy) on project AOR-archetype: Failed to deploy artifacts:
Could not find artifact
com.selexelsag:AOR-archetype:jar:1.0-20120508.152216-1 in
aor-snapshots (http://geed20120:8081/nexus/content/repositories/snapshots)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:217)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:153)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:145)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:84)
at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:59)
at org.apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.java:183)
at org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:161)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:319)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:156)
at org.apache.maven.cli.MavenCli.execute(MavenCli.java:537)
at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:196)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:141)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:290)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:230)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:409)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:352)
Caused by: org.apache.maven.plugin.MojoExecutionException: Failed to
deploy artifacts: Could not find artifact
com.selexelsag:AOR-archetype:jar:1.0-20120508.152216-1 in
aor-snapshots (http://geed20120:8081/nexus/content/repositories/snapshots)
at org.apache.maven.plugin.deploy.DeployMojo.execute(DeployMojo.java:189)
at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:101)
at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
... 19 more
Caused by: org.apache.maven.artifact.deployer.ArtifactDeploymentException:
Failed to deploy artifacts: Could not find artifact
com.selexelsag:AOR-archetype:jar:1.0-20120508.152216-1 in
aor-snapshots (http://geed20120:8081/nexus/content/repositories/snapshots)
at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:141)
at org.apache.maven.plugin.deploy.DeployMojo.execute(DeployMojo.java:156)
... 21 more
Caused by: org.sonatype.aether.deployment.DeploymentException: Failed
to deploy artifacts: Could not find artifact
com.selexelsag:AOR-archetype:jar:1.0-20120508.152216-1 in
aor-snapshots (http://geed20120:8081/nexus/content/repositories/snapshots)
at org.sonatype.aether.impl.internal.DefaultDeployer.deploy(DefaultDeployer.java:284)
at org.sonatype.aether.impl.internal.DefaultDeployer.deploy(DefaultDeployer.java:215)
at org.sonatype.aether.impl.internal.DefaultRepositorySystem.deploy(DefaultRepositorySystem.java:480)
at org.apache.maven.artifact.deployer.DefaultArtifactDeployer.deploy(DefaultArtifactDeployer.java:137)
... 22 more
Caused by: org.sonatype.aether.transfer.ArtifactNotFoundException:
Could not find artifact
com.selexelsag:AOR-archetype:jar:1.0-20120508.152216-1 in
aor-snapshots (http://geed20120:8081/nexus/content/repositories/snapshots)
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:945)
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$4.wrap(WagonRepositoryConnector.java:940)
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector$PutTask.flush(WagonRepositoryConnector.java:864)
at org.sonatype.aether.connector.wagon.WagonRepositoryConnector.put(WagonRepositoryConnector.java:466)
at org.sonatype.aether.impl.internal.DefaultDeployer.deploy(DefaultDeployer.java:278)
... 25 more

Dai log su nexus l'autenticazione sembra a posto.

Secondo voi ho qualche speranza di farlo funzionare o vado con la
soluzione Maven 2 ?

Ciao e grazie.

Andrea Rodriguez

unread,
May 8, 2012, 4:39:45 PM5/8/12
to jug-g...@googlegroups.com
ciao
...mi é successo qualcosa del genere, con il plugin Maven sonatype di Eclipse, se uso la distro embedded, che é appunto una 3.x ...

dovrebbe essere dovuto a questo, cioé con la v3 hanno disabilitato una feauture:
https://cwiki.apache.org/MAVEN/maven-3x-compatibility-notes.html#Maven3.xCompatibilityNotes-NonuniqueSnapshotDeployments

se ho ben capito, in pratica succede che il solito
<snapshots>
   
<enabled>true</enabled>
</snapshots>
viene ignorato, o non produce l'effetto voluto...

in pratica, per gli snapshots, se non hai l'artifact nel repository locale, viene comunque usata e cercata di scaricare la versione "timestamped", quindi le opzioni dovrebbero essere:

- scaricarsi il progetto che produce l'artifact snapshot (nel tuo caso mi sembra AOR-artifact ...) e fare il build in locale, perché il goal install effettuerà il caricamento nel repository local in stile maven 2, senza il numero di versione
- non usare versioni snapshot
- inserire le version puntuali nel pom.xml, ma credo sia una menata perché essendo uno snapshot immagino varino spesso ... (le prendi dai file metadata nel repo di nexus)

nel mio caso ho scelto la prima

ciao
Andrea



--
Hai ricevuto questo messaggio perché sei iscritto al gruppo "jug-genova" di Google Gruppi.
Per postare messaggi in questo gruppo, invia un'email a jug-g...@googlegroups.com.
Per annullare l'iscrizione a questo gruppo, invia un'email a jug-genova+...@googlegroups.com.
Per ulteriori opzioni, visita il gruppo all'indirizzo http://groups.google.com/group/jug-genova?hl=it.


Fabrizio Giudici

unread,
May 8, 2012, 5:14:06 PM5/8/12
to jug-g...@googlegroups.com, Andrea Rodriguez
On Tue, 08 May 2012 22:39:45 +0200, Andrea Rodriguez <rod...@gmail.com>
wrote:
Io ho avuto mesi fa qualche problema simile, che però poi ad un certo
punto è sparito. Stavo mavenizzando un progetto, per cui certe cose erano
raffazzonate e forse stavo sbagliando qualcosa; oppure un'aggiornamento di
Maven o di qualche plugin ha risolto il problema. Negli ultimi mesi non ho
avuto nessun problema a deployare snapshot, né a usarli (salvo qualcosa
che è saltato fuori l'altro ieri, ma pare più legato ad un Nexus che uso
come proxy e che non è capace di vedere gli artifact snapshot nel repo
originale).

Va detto che però per vari motivi limito al minimo la dipendenza da
snapshot e faccio fare altrettanto ai miei clienti adottando la strategia
di fare release settimanali (non formali, quindi quello che c'è viene
rilasciato così com'è). Se quindi in un progetto qualcuno usa una snapshot
di un altro progetto perché ha bisogno di una hot fix, a partire dal
lunedì successivo potrà comunque dipendere da un numero di versione
stabile.


--
Fabrizio Giudici - Java Architect, Project Manager
Tidalwave s.a.s. - "We make Java work. Everywhere."
fabrizio...@tidalwave.it
http://tidalwave.it - http://fabriziogiudici.it

Giampaolo Melis

unread,
May 9, 2012, 5:08:53 AM5/9/12
to jug-g...@googlegroups.com
In effetti pensavo anch'io che il problema fosse legato alle versioni
puntuali delle snapshot...
In realta' non riesco a farlo funzionare neanche in release: sembra
non provi neanche a 'parlare' con nexus ...
Sto guardando un po' i sorgenti della 3.0.3; vedo se ci capisco qualcosa ...

2012/5/8 Fabrizio Giudici <Fabrizio...@tidalwave.it>:

Andrea Rodriguez

unread,
May 9, 2012, 5:23:38 AM5/9/12
to jug-g...@googlegroups.com


2012/5/9 Giampaolo Melis <giampao...@gmail.com>

In effetti pensavo anch'io che il problema fosse legato alle versioni
puntuali delle snapshot...
In realta' non riesco a farlo funzionare neanche in release: sembra
non provi neanche a 'parlare' con nexus ...

hai provato a rimuovere (rinominare) completamente il repository locale ?...
 

Giampaolo Melis

unread,
May 9, 2012, 11:08:21 AM5/9/12
to jug-g...@googlegroups.com
Fatto. E' stata dura ma alla fine funziona. Ricapitolo:

- Cancellato repository locale.
- Modificato settings.xml mettendo tutto in mirror su nexus
- Utilizzato l'utente deployment (ma secondo me questa non centra nulla)
- Aggiunto mirror http://uk.maven.org/maven2/ a Central su Nexus (e'
stato decisivo in quanto c'erano problemi nel tirare giu' l'indice di
plexus)
- Pulizia della storage area e restart di nexus.

Cosi' facendo tutto funziona a dovere.
Ciao a tutti e grazie.


2012/5/9 Andrea Rodriguez <rod...@gmail.com>:
Reply all
Reply to author
Forward
0 new messages