Archiva

archiva cannot serve ejb artifacts from a maven1 repository

Details

  • Type: Bug Bug
  • Status: Closed Closed
  • Priority: Major Major
  • Resolution: Fixed
  • Affects Version/s: 1.0
  • Fix Version/s: 1.0.2
  • Component/s: remote proxy
  • Labels:
    None
  • Number of attachments :
    0

Description

requesting an ejb from a maven1 repository builds the path "groupId/jars/artifactId.jar", and not the location where maven1 ejb:deploy places the ejb jars (groupId/ejbs/artifactId.jar). The type folder is created based on the file extension, with some exceptions. It should be created based on the artifact type.

Issue Links

Activity

Hide
Thomas Demande added a comment -

From a Maven 2 project, when I try to get a Maven 1 ejb artifact via Archiva, it's still trying to get it from groupId/jars/artifactId-version.jar.

I'm using newly packaged 1.0.2 version you're voting for (from http://people.apache.org/builds/maven/archiva/1.0.2/), that should resolve the problem according to this issue fix version.

Did I miss some configuration steps ?

Show
Thomas Demande added a comment - From a Maven 2 project, when I try to get a Maven 1 ejb artifact via Archiva, it's still trying to get it from groupId/jars/artifactId-version.jar. I'm using newly packaged 1.0.2 version you're voting for (from http://people.apache.org/builds/maven/archiva/1.0.2/), that should resolve the problem according to this issue fix version. Did I miss some configuration steps ?
Hide
Brett Porter added a comment -

I believe this combination can't be translated. The Maven 2 format for an ejb looks the same as a JAR, so Archiva can't know which one to return. You should have Maven 2 use the legacy format when talking to the Archiva repository so that it looks for /ejbs/*

Show
Brett Porter added a comment - I believe this combination can't be translated. The Maven 2 format for an ejb looks the same as a JAR, so Archiva can't know which one to return. You should have Maven 2 use the legacy format when talking to the Archiva repository so that it looks for /ejbs/*
Hide
Thomas Demande added a comment -

Thanks, it works by adding duplicate definition of our Archiva instance, with legacy layout specified.

Anyway, I think behavior is quite strange IMHO, I would have expected that specifying the remote repository as legacy would be enough, as it is the proxied repository that is in legacy mode, not the Archiva instance.

Show
Thomas Demande added a comment - Thanks, it works by adding duplicate definition of our Archiva instance, with legacy layout specified. Anyway, I think behavior is quite strange IMHO, I would have expected that specifying the remote repository as legacy would be enough, as it is the proxied repository that is in legacy mode, not the Archiva instance.
Hide
Brett Porter added a comment -

if you have the proxied repository in legacy mode, but the managed repository in maven2 mode, then the problem will not occur - is that an option for you?

Show
Brett Porter added a comment - if you have the proxied repository in legacy mode, but the managed repository in maven2 mode, then the problem will not occur - is that an option for you?
Hide
Thomas Demande added a comment -

Well that's actually the case we have, and that's why I commented this ticket

Show
Thomas Demande added a comment - Well that's actually the case we have, and that's why I commented this ticket
Hide
Brett Porter added a comment -

you're right, sorry. The managed repository can be set to either, but to pass an ejb request to the legacy remote repository requires the incoming request to be in legacy format. This is because of the erasure of information in the Maven 2 repository format.

Show
Brett Porter added a comment - you're right, sorry. The managed repository can be set to either, but to pass an ejb request to the legacy remote repository requires the incoming request to be in legacy format. This is because of the erasure of information in the Maven 2 repository format.
Hide
Thomas Demande added a comment -

Well, as adding a new repository definition in legacy does the trick, I'm quite OK with that.

Show
Thomas Demande added a comment - Well, as adding a new repository definition in legacy does the trick, I'm quite OK with that.

People

Vote (2)
Watch (2)

Dates

  • Created:
    Updated:
    Resolved: