You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@maven.apache.org by Vitor Miranda <vi...@gmail.com> on 2012/05/04 17:37:29 UTC

409 Conflict - snapshots/releases repositories

The error:

"ArtifactDescriptorException: Failed to read artifact descriptor for
javax.faces:jsf-api:jar:1_1_01: ArtifactResolutionException: Could not
transfer artifact javax.faces:jsf-api:pom:1_1_01 from/to snapshots-repo (
http://ip/artifactory/snapshots-repo): Failed to transfer
http://ip/artifactory/snapshots-repo/javax/faces/jsf-api/1_1_01/jsf-api-1_1_01.pom.
Error code 409, Conflict"

Hi!

Anyone know exactly what happens when you set
<snapshots|releases><enabled>true</enabled></snapshots|releases> on the
repository section? The documentation and my intuition said that, if you
set one to false, Maven won't even care to search/download the specified
type of artifact from that repository. If it's true, Maven will look on
that repository for that type of the artifact . If it doesn't find, just go
on and look on other repositories, if any are defined. Fair enough to me,
but I had this issue which took me hours to solve:

We have four repositories.

- Snapshots
- Releases (which is empty so far)
- External
- Release/Legacy (was the first repo created, will migrate to External soon)

The first two are what they are meant to, External is a repository for the
3rd party artifacts that we use (no snapshots there) and Legacy also has
3rd party artifacts (no snapshots also). Then there's this POM which
references three other POMs, which then have dependencies. All were
deployed on the Snapshots repo. Some of the jar dependencies were on
legacy, others on external. I was getting the infamous 409 - Conflict at 3
or 4 artifacts when adding one of the "super poms" as a dependency -
doesn't happen when adding a specifc jar dependency.

Solution: set <releases><enabled>false</enabled></releases> on the
snapshots repo configuration.

Why? I don't get this. It's ok to filter releases/snapshots to the correct
repositories, but why this error? To show an example: when adding the
highest parent pom, I get the 409 I pasted above on 4 artifacts. All of
those are on legacy, and none is a snapshot. So maven tries to get a
release-type artifact from a snapshot repo only. Obviously there's nothing
there (but I didn't specify Maven to not get from it (enabled is true), so
it's ok). What I'd expect to happen: can't find the artifact here (which,
in case, there actually ISN'T any similar artifact there), I'll just move
to the other repositories. What happens: 409.

At least we found a solution, but I'd appreciate any help on understanding
this issue.

Thanks!

-- 
Vitor Branco de Miranda
BCC - UFSCar - São Carlos/SP
+55 19 92013531
vitorbmiranda@gmail.com

Re: 409 Conflict - snapshots/releases repositories

Posted by Vitor Miranda <vi...@gmail.com>.
Hey!

Yeah, I'm using artifactory, and I'll post on their list, thanks for the
advice.

But just for the record, I've found something interesting:

If I mark my snapshots repo to handle releases, I don't get the 409. Looks
like Maven can then search for the artifacts there without problems. If the
artifactory is NOT supposed to handle releases, and on client I say that
the repository CAN handle releases, a conflict pops up.

I'll see what I get on artifactory list.

Thanks!

On Fri, May 4, 2012 at 12:50 PM, Olivier Lamy <ol...@apache.org> wrote:

> Hi,
> The best is to ask artifactory (it looks to be the mrm you use) mailing
> list.
>
> 2012/5/4 Vitor Miranda <vi...@gmail.com>:
> > The error:
> >
> > "ArtifactDescriptorException: Failed to read artifact descriptor for
> > javax.faces:jsf-api:jar:1_1_01: ArtifactResolutionException: Could not
> > transfer artifact javax.faces:jsf-api:pom:1_1_01 from/to snapshots-repo (
> > http://ip/artifactory/snapshots-repo): Failed to transfer
> >
> http://ip/artifactory/snapshots-repo/javax/faces/jsf-api/1_1_01/jsf-api-1_1_01.pom
> .
> > Error code 409, Conflict"
> >
> > Hi!
> >
> > Anyone know exactly what happens when you set
> > <snapshots|releases><enabled>true</enabled></snapshots|releases> on the
> > repository section? The documentation and my intuition said that, if you
> > set one to false, Maven won't even care to search/download the specified
> > type of artifact from that repository. If it's true, Maven will look on
> > that repository for that type of the artifact . If it doesn't find, just
> go
> > on and look on other repositories, if any are defined. Fair enough to me,
> > but I had this issue which took me hours to solve:
> >
> > We have four repositories.
> >
> > - Snapshots
> > - Releases (which is empty so far)
> > - External
> > - Release/Legacy (was the first repo created, will migrate to External
> soon)
> >
> > The first two are what they are meant to, External is a repository for
> the
> > 3rd party artifacts that we use (no snapshots there) and Legacy also has
> > 3rd party artifacts (no snapshots also). Then there's this POM which
> > references three other POMs, which then have dependencies. All were
> > deployed on the Snapshots repo. Some of the jar dependencies were on
> > legacy, others on external. I was getting the infamous 409 - Conflict at
> 3
> > or 4 artifacts when adding one of the "super poms" as a dependency -
> > doesn't happen when adding a specifc jar dependency.
> >
> > Solution: set <releases><enabled>false</enabled></releases> on the
> > snapshots repo configuration.
> >
> > Why? I don't get this. It's ok to filter releases/snapshots to the
> correct
> > repositories, but why this error? To show an example: when adding the
> > highest parent pom, I get the 409 I pasted above on 4 artifacts. All of
> > those are on legacy, and none is a snapshot. So maven tries to get a
> > release-type artifact from a snapshot repo only. Obviously there's
> nothing
> > there (but I didn't specify Maven to not get from it (enabled is true),
> so
> > it's ok). What I'd expect to happen: can't find the artifact here (which,
> > in case, there actually ISN'T any similar artifact there), I'll just move
> > to the other repositories. What happens: 409.
> >
> > At least we found a solution, but I'd appreciate any help on
> understanding
> > this issue.
> >
> > Thanks!
> >
> > --
> > Vitor Branco de Miranda
> > BCC - UFSCar - São Carlos/SP
> > +55 19 92013531
> > vitorbmiranda@gmail.com
>
>
>
> --
> Olivier Lamy
> Talend: http://coders.talend.com
> http://twitter.com/olamy | http://linkedin.com/in/olamy
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
> For additional commands, e-mail: users-help@maven.apache.org
>
>


-- 
Vitor Branco de Miranda
BCC - UFSCar - São Carlos/SP
+55 19 92013531
vitorbmiranda@gmail.com

Re: 409 Conflict - snapshots/releases repositories

Posted by Olivier Lamy <ol...@apache.org>.
Hi,
The best is to ask artifactory (it looks to be the mrm you use) mailing list.

2012/5/4 Vitor Miranda <vi...@gmail.com>:
> The error:
>
> "ArtifactDescriptorException: Failed to read artifact descriptor for
> javax.faces:jsf-api:jar:1_1_01: ArtifactResolutionException: Could not
> transfer artifact javax.faces:jsf-api:pom:1_1_01 from/to snapshots-repo (
> http://ip/artifactory/snapshots-repo): Failed to transfer
> http://ip/artifactory/snapshots-repo/javax/faces/jsf-api/1_1_01/jsf-api-1_1_01.pom.
> Error code 409, Conflict"
>
> Hi!
>
> Anyone know exactly what happens when you set
> <snapshots|releases><enabled>true</enabled></snapshots|releases> on the
> repository section? The documentation and my intuition said that, if you
> set one to false, Maven won't even care to search/download the specified
> type of artifact from that repository. If it's true, Maven will look on
> that repository for that type of the artifact . If it doesn't find, just go
> on and look on other repositories, if any are defined. Fair enough to me,
> but I had this issue which took me hours to solve:
>
> We have four repositories.
>
> - Snapshots
> - Releases (which is empty so far)
> - External
> - Release/Legacy (was the first repo created, will migrate to External soon)
>
> The first two are what they are meant to, External is a repository for the
> 3rd party artifacts that we use (no snapshots there) and Legacy also has
> 3rd party artifacts (no snapshots also). Then there's this POM which
> references three other POMs, which then have dependencies. All were
> deployed on the Snapshots repo. Some of the jar dependencies were on
> legacy, others on external. I was getting the infamous 409 - Conflict at 3
> or 4 artifacts when adding one of the "super poms" as a dependency -
> doesn't happen when adding a specifc jar dependency.
>
> Solution: set <releases><enabled>false</enabled></releases> on the
> snapshots repo configuration.
>
> Why? I don't get this. It's ok to filter releases/snapshots to the correct
> repositories, but why this error? To show an example: when adding the
> highest parent pom, I get the 409 I pasted above on 4 artifacts. All of
> those are on legacy, and none is a snapshot. So maven tries to get a
> release-type artifact from a snapshot repo only. Obviously there's nothing
> there (but I didn't specify Maven to not get from it (enabled is true), so
> it's ok). What I'd expect to happen: can't find the artifact here (which,
> in case, there actually ISN'T any similar artifact there), I'll just move
> to the other repositories. What happens: 409.
>
> At least we found a solution, but I'd appreciate any help on understanding
> this issue.
>
> Thanks!
>
> --
> Vitor Branco de Miranda
> BCC - UFSCar - São Carlos/SP
> +55 19 92013531
> vitorbmiranda@gmail.com



-- 
Olivier Lamy
Talend: http://coders.talend.com
http://twitter.com/olamy | http://linkedin.com/in/olamy

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@maven.apache.org
For additional commands, e-mail: users-help@maven.apache.org