You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@maven.apache.org by "Jared Roberts (JIRA)" <ji...@codehaus.org> on 2011/05/25 01:14:22 UTC

[jira] Commented: (MNG-5103) NPE thrown when DefaultArtifact.getSelectedVersion is called

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

Jared Roberts commented on MNG-5103:
------------------------------------

I'm resurrecting this from MNG-4887 because I also ran into the same issue. For certain artifacts, it seems that the versionRange does not get initialized and will throw an NPE when [{{DefaultArtifact.getSelectedVersion()}}|http://maven.apache.org/ref/2.2.1/maven-artifact/xref/org/apache/maven/artifact/DefaultArtifact.html#618] is called. I encountered it while using Maven 2.1.0 and 2.2.1. Switching to 3.0.1 resolved my specific issue, so I assume something changed in the way the Artifact gets created. The original poster referenced using {{DefaultArtifact.getVersionRange()}} where there is a relevant [comment|http://maven.apache.org/ref/2.2.1/maven-artifact/xref/org/apache/maven/artifact/DefaultArtifact.html#513] hinting that further investigation was probably needed.

I worked around the issue by using the following code block
{code:title=Before.java}
Artifact dep = ...;
ArtifactVersion selectedVersion = dep.getSelectedVersion();
{code}
{code:title=After.java}
Artifact dep = ...;
ArtifactVersion selectedVersion = dep.getVersionRange().getSelectedVersion(dep);
{code}

> NPE thrown when DefaultArtifact.getSelectedVersion is called
> ------------------------------------------------------------
>
>                 Key: MNG-5103
>                 URL: http://jira.codehaus.org/browse/MNG-5103
>             Project: Maven 2 & 3
>          Issue Type: Bug
>          Components: Artifacts and Repositories
>    Affects Versions: 3.0
>         Environment: not env dependent
>            Reporter: Jared Roberts
>
> getSelectedVersion() uses the versionRange variable directly instead of using getVersionRange() which creates the version range from version if its null.
> This bug when using the appfuse warpath plugin when doing a double war overlay

-- 
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