[ 
https://issues.apache.org/jira/browse/MNG-5727?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14948570#comment-14948570
 ] 

Igor Fedorenko commented on MNG-5727:
-------------------------------------

I didn't want to change how maven handles unused invalid <dependencyManagement> 
elements, so reporting problems with invalid <dependencies> seems like the 
right way to fix InvalidArtifactRTException. For example, I don't see why the 
following pom.xml should be considered invalid

{code}
    <project>
      <modelVersion>4.0.0</modelVersion>
    
      <groupId>test</groupId>
      <artifactId>versionless-managed-dependency.xml</artifactId>
      <version>0.0.1-SNAPSHOT</version>
    
      <dependencies>
        <dependency>
          <groupId>junit</groupId>
          <artifactId>junit</artifactId>
          <version>4.12</version>
        </dependency>
      </dependencies>
    
      <dependencyManagement>
        <dependencies>
          <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <scope>test</scope>
          </dependency>
        </dependencies>
      </dependencyManagement>
    
    </project>
{code}

> unexpected InvalidArtifactRTException from ProjectBuilder#build
> ---------------------------------------------------------------
>
>                 Key: MNG-5727
>                 URL: https://issues.apache.org/jira/browse/MNG-5727
>             Project: Maven
>          Issue Type: Bug
>            Reporter: Igor Fedorenko
>             Fix For: 3.2.5
>
>
> Calling into ProjectBuilder#build(File, ProjectBuildingRequest) results in 
> InvalidArtifactRTException below if project pom.xml has managed dependency 
> without <version>. Although the pom is invalid, I expected to get 
> ProjectBuildingException that includes location of problematic dependency, 
> similar to what I get during command line build.
> {code}
> org.apache.maven.artifact.InvalidArtifactRTException: For artifact 
> {org.apache.maven.its:a:null:jar}: The version cannot be empty.
>       at 
> org.apache.maven.artifact.DefaultArtifact.validateIdentity(DefaultArtifact.java:148)
>       at 
> org.apache.maven.artifact.DefaultArtifact.<init>(DefaultArtifact.java:123)
>       at 
> org.apache.maven.bridge.MavenRepositorySystem.XcreateArtifact(MavenRepositorySystem.java:695)
>       at 
> org.apache.maven.bridge.MavenRepositorySystem.XcreateDependencyArtifact(MavenRepositorySystem.java:613)
>       at 
> org.apache.maven.bridge.MavenRepositorySystem.createDependencyArtifact(MavenRepositorySystem.java:121)
>       at 
> org.apache.maven.project.DefaultProjectBuilder.initProject(DefaultProjectBuilder.java:808)
>       at 
> org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:174)
>       at 
> org.apache.maven.project.DefaultProjectBuilder.build(DefaultProjectBuilder.java:118)
> ...
> {code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)

Reply via email to