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

Hudson commented on MNG-5993:
-----------------------------

UNSTABLE: Integrated in Jenkins build maven-3.x #1388 (See 
[https://builds.apache.org/job/maven-3.x/1388/])
[MNG-5993] Confusing error message in case of missing/empty  (khmarbaise: rev 
49cf5d8fb6fb30142e6f91f9d17658e59c54b27f)
* (edit) 
maven-core/src/main/java/org/apache/maven/lifecycle/internal/LifecyclePluginResolver.java
* (edit) 
maven-core/src/main/java/org/apache/maven/plugin/version/internal/DefaultPluginVersionResolver.java
* (add) 
maven-model-builder/src/test/resources/poms/validation/raw-model/missing-artifactId-pluginManagement.xml
* (add) 
maven-model-builder/src/test/resources/poms/validation/raw-model/missing-plugin-version-pluginManagement.xml
* (add) 
maven-model-builder/src/test/resources/poms/validation/raw-model/missing-groupId-pluginManagement.xml
* (add) 
maven-model-builder/src/test/resources/poms/validation/raw-model/missing-ga-pluginManagement.xml
* (edit) 
maven-model-builder/src/main/java/org/apache/maven/model/validation/DefaultModelValidator.java
* (edit) 
maven-model-builder/src/test/java/org/apache/maven/model/validation/DefaultModelValidatorTest.java


> Confusing error message in case of missing/empty artifactId and version in 
> pluginManagement
> -------------------------------------------------------------------------------------------
>
>                 Key: MNG-5993
>                 URL: https://issues.apache.org/jira/browse/MNG-5993
>             Project: Maven
>          Issue Type: Improvement
>          Components: Dependencies
>    Affects Versions: 3.3.9
>            Reporter: Konrad Windszus
>            Assignee: Karl Heinz Marbaise
>             Fix For: 3.4.0
>
>
> Executing any goals/phases on this pom.xml leads to a weird error
> {code}
> <project xmlns="http://maven.apache.org/POM/4.0.0"; 
> xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
> xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
> http://maven.apache.org/xsd/maven-4.0.0.xsd";>
>   <modelVersion>4.0.0</modelVersion>
>   <groupId>com.example.group</groupId>
>   <artifactId>testinvalidpom</artifactId>
>   <version>0.0.1-SNAPSHOT</version>
>   
>   <build>
>     <pluginManagement>
>         <plugins>
>             <plugin>
>                 <groupId></groupId>
>             </plugin>
>         </plugins>
>     </pluginManagement>
>   </build>
> </project>
> {code}
> The error being emitted is 
> {code}
> [ERROR] Error resolving version for plugin ':null' from the repositories 
> [local (<some path>), nexus (<some remote repo url>)]: Plugin not found in 
> any plugin repository -> [Help 1]
> {code}
> Even with debug you only see something like this 
> {code}
> [ERROR] Error resolving version for plugin ':null' from the repositories 
> [...]: Plugin not found in any plugin repository -> [Help 1]
> org.apache.maven.plugin.version.PluginVersionResolutionException: Error 
> resolving version for plugin ':null' from the repositories [local 
> (/Users/konradwindszus/.m2/repository), nexus 
> (https://repo.int.netcentric.biz/nexus/content/groups/public/)]: Plugin not 
> found in any plugin repository
>       at 
> org.apache.maven.plugin.version.internal.DefaultPluginVersionResolver.selectVersion(DefaultPluginVersionResolver.java:236)
>       at 
> org.apache.maven.plugin.version.internal.DefaultPluginVersionResolver.resolveFromRepository(DefaultPluginVersionResolver.java:148)
>       at 
> org.apache.maven.plugin.version.internal.DefaultPluginVersionResolver.resolve(DefaultPluginVersionResolver.java:96)
>       at 
> org.apache.maven.lifecycle.internal.LifecyclePluginResolver.resolveMissingPluginVersions(LifecyclePluginResolver.java:89)
>       at 
> org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator.calculateExecutionPlan(DefaultLifecycleExecutionPlanCalculator.java:116)
>       at 
> org.apache.maven.lifecycle.internal.DefaultLifecycleExecutionPlanCalculator.calculateExecutionPlan(DefaultLifecycleExecutionPlanCalculator.java:135)
>       at 
> org.apache.maven.lifecycle.internal.builder.BuilderCommon.resolveBuildPlan(BuilderCommon.java:97)
>       at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:109)
>       at 
> org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.java:80)
>       at 
> org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build(SingleThreadedBuilder.java:51)
>       at 
> org.apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.java:120)
>       at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:347)
>       at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:154)
>       at org.apache.maven.cli.MavenCli.execute(MavenCli.java:582)
>       at org.apache.maven.cli.MavenCli.doMain(MavenCli.java:214)
>       at org.apache.maven.cli.MavenCli.main(MavenCli.java:158)
>       at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
>       at 
> sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
>       at 
> sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
>       at java.lang.reflect.Method.invoke(Method.java:498)
>       at 
> org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:289)
>       at 
> org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)
>       at 
> org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)
>       at 
> org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)
> {code}
> In this example the error is easy to spot, but for bigger pom.xmls with more 
> complex hierarchies it is very hard.
> Some basic validation should take place that on the merged pom.xml all of 
> groupId, artifactId and version is available and if that is not the case, the 
> line number of the pom.xml together with the filename should be given out, 
> where the according information is missing.
> A similar error is emitted in case the groupId element is missing as well or 
> there is an empty artifactId.



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

Reply via email to