You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Stephen Pack (JIRA)" <ji...@codehaus.org> on 2008/08/28 00:39:49 UTC

[jira] Issue Comment Edited: (MNG-2873) Unable to find transitive dependencies when they have been relocated.

    [ http://jira.codehaus.org/browse/MNG-2873?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=146230#action_146230 ] 

stephenjpack edited comment on MNG-2873 at 8/27/08 5:38 PM:
------------------------------------------------------------

These projects demonstrate the issue.  I'm using maven 2.0.9.

It contains 3 projects -- "zebra", "monkey", and "giraffe" -- and uses 2 repositories -- "zoo" and "wild".

*Deploy zebra (to zoo)
*Move zebra to a new groupId within zoo & deploy relocation POM
*Delete zebra from local repo
*Deploy monkey (to wild)
*Verify giraffe, which depends on monkey -- zebra isn't resolved, as only the wild repo is queried (see debug output below).  The problem appears to be the relocation POM for zebra in zoo isn't even being read.

[DEBUG] animals:giraffe:jar:1.0 (selected for null)
[DEBUG]   animals:monkey:jar:1.0:compile (selected for compile)
[DEBUG]     animals:zebra:jar:1.0:compile (selected for compile)
[DEBUG] Trying repository wild-repo
Downloading: file://c:/test/repo2/animals/zebra/1.0/zebra-1.0.jar
[DEBUG] Unable to get resource 'animals:zebra:jar:1.0' from repository wild-repo (file://c:/test/repo2)
[DEBUG] Trying repository zoo-repo
Downloading: file://c:/test/repo/animals/zebra/1.0/zebra-1.0.jar
[DEBUG] Unable to get resource 'animals:zebra:jar:1.0' from repository zoo-repo (file://c:/test/repo)
[DEBUG] Trying repository central
Downloading: http://repo.cerner.corp/nexus/content/repositories/central/animals/zebra/1.0/zebra-1.0.jar
[DEBUG] Unable to get resource 'animals:zebra:jar:1.0' from repository central (http://repo1.maven.org/maven2)
[DEBUG] Unable to download the artifact from any repository

      was (Author: stephenjpack):
    These projects demonstrate the issue.  I'm using maven 2.0.9.

It contains 3 projects -- "zebra", "monkey", and "giraffe" -- and uses 2 repositories -- "zoo" and "wild".

*Deploy zebra (to zoo)
*Move zebra to a new groupId within zoo & deploy relocation POM
*Delete zebra from local repo
*Deploy monkey (to wild)
*Verify giraffe, which depends on monkey -- zebra isn't resolved, as only the wild repo is queried (see output below)

Missing:
----------
1) animals:zebra:jar:1.0

  Try downloading the file manually from the project website.

  Then, install it using the command: 
      mvn install:install-file -DgroupId=animals -DartifactId=zebra -Dversion=1.0 -Dpackaging=jar -Dfile=/path/to/file

  Alternatively, if you host your own repository you can deploy the file there: 
      mvn deploy:deploy-file -DgroupId=animals -DartifactId=zebra -Dversion=1.0 -Dpackaging=jar -Dfile=/path/to/file -Durl=[url] -DrepositoryId=[id]

  Path to dependency: 
  	1) animals:giraffe:jar:1.0
  	2) animals:monkey:jar:1.0
  	3) animals:zebra:jar:1.0

----------
1 required artifact is missing.

for artifact: 
  animals:giraffe:jar:1.0

from the specified remote repositories:
  wild-repo (file://c:/test/repo2),
  central (http://repo1.maven.org/maven2)
  
> Unable to find transitive dependencies when they have been relocated.
> ---------------------------------------------------------------------
>
>                 Key: MNG-2873
>                 URL: http://jira.codehaus.org/browse/MNG-2873
>             Project: Maven 2
>          Issue Type: Bug
>          Components: Artifacts and Repositories
>    Affects Versions: 2.0.5
>            Reporter: Micah Whitacre
>             Fix For: 2.0.11
>
>         Attachments: MNG2873.ZIP
>
>
> I have two projects A and B.  Project A is dependent on B.  Project B has compile time on project C which is deployed to a repository, repository1.  The newest version, 2.0, of project C has since been relocated from oldGroupId to newGroupId.  The relocation POMs are working correctly and Project B is able to be built successfully.   Project A is not dependent on anything from repository1 it does not list that repository in its own <repositories/> section.  When building project A, it tries to resolve the dependencies of B which includes C.  However I am currently getting errors when it tries to resolve the C.  Below is an example of this error occurring.  As you can see the list of remote repositories does not display repository1 as one of the repositories that was checked despite the fact that Project B listed it in its POM.
> [INFO] ------------------------------------------------------------------------
> [ERROR] BUILD ERROR
> [INFO] ------------------------------------------------------------------------
> [INFO] Failed to resolve artifact.
> No versions are present in the repository for the artifact with a range [1,)
>   oldGroupId:projectC:jar:null
> from the specified remote repositories:
>   central (http://repo1.maven.org/maven2),
>   repo2 (http://repo.some-repo.com/repo)
> If I change project B to not use a range but to instead depend on a non-relocated version of project C everything works fine and I do not get this issue at all.  The other and more correct solution to this issue is to update project B to use the new groupIds however it forces me to release project B immediately since all older released versions of B are broken by using the old groupIds an this issue.

-- 
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira