[ https://issues.apache.org/jira/browse/MNG-6495?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16668887#comment-16668887 ]
Elliotte Rusty Harold commented on MNG-6495: -------------------------------------------- I think this is the code where I stumbled onto this. Looks like I since added a ModelResolver to avoid the issue, but try setting that to null instead and see what happens. package com.google.cloud.tools.opensource.dependencies; import java.net.MalformedURLException; import java.net.URL; import org.apache.maven.building.UrlSource; import org.apache.maven.model.Model; import org.apache.maven.model.building.DefaultModelBuilder; import org.apache.maven.model.building.DefaultModelBuilderFactory; import org.apache.maven.model.building.DefaultModelBuildingRequest; import org.apache.maven.model.building.ModelBuildingException; import org.apache.maven.model.building.ModelBuildingRequest; import org.apache.maven.model.building.ModelBuildingResult; import org.apache.maven.model.building.ModelSource; import org.apache.maven.model.building.UrlModelSource; import org.apache.maven.model.resolution.ModelResolver; import org.apache.maven.model.resolution.UnresolvableModelException; import org.apache.maven.project.ProjectModelResolver; import org.eclipse.aether.artifact.DefaultArtifact; import org.eclipse.aether.collection.DependencyCollectionException; import org.eclipse.aether.resolution.DependencyResolutionException; public class MetadataExplorer { public static void main(String[] args) throws DependencyCollectionException, DependencyResolutionException, MalformedURLException, UnresolvableModelException { try { DefaultArtifact artifact = new DefaultArtifact("com.google.guava:guava:26.0-jre"); DefaultModelBuilder modelBuilder = new DefaultModelBuilderFactory().newInstance(); ModelBuildingRequest request = new DefaultModelBuildingRequest(); URL pomUrl = new URL( "https://repo1.maven.org/maven2/com/google/guava/guava/26.0-jre/guava-26.0-jre.pom"); UrlModelSource source = new UrlModelSource(pomUrl); request.setModelSource(source); ProjectModelResolver modelResolver = new ProjectModelResolver(null, null, null, null, null, null, null); ModelSource s = modelResolver.resolveModel("com.google.guava", "guava", "26.0-jre"); request.setModelResolver(modelResolver); ModelBuildingResult result = modelBuilder.build(request); Model model = result.getEffectiveModel(); System.out.println(model.getArtifactId()); } catch (IllegalArgumentException ex) { System.err.println("Bad Maven coordinates " + args[0]); return; } catch (ModelBuildingException e) { // TODO Auto-generated catch block e.printStackTrace(); } } } > ModelResolver cannot be null > ---------------------------- > > Key: MNG-6495 > URL: https://issues.apache.org/jira/browse/MNG-6495 > Project: Maven > Issue Type: Bug > Components: Bootstrap & Build > Affects Versions: 3.5.4 > Reporter: Elliotte Rusty Harold > Priority: Major > > Got this exception stacktrace while writing some of my own code today: > {noformat} > Exception in thread "main" java.lang.NullPointerException: > request.modelResolver cannot be null (parent POM > com.google.guava:guava-parent:26.0-jre and POM > com.google.guava:guava:[unknown-version]) > at org.apache.commons.lang3.Validate.notNull(Validate.java:225) > at > org.apache.maven.model.building.DefaultModelBuilder.readParentExternally(DefaultModelBuilder.java:1046) > at > org.apache.maven.model.building.DefaultModelBuilder.readParent(DefaultModelBuilder.java:830) > at > org.apache.maven.model.building.DefaultModelBuilder.build(DefaultModelBuilder.java:332) > at > com.google.cloud.tools.opensource.dependencies.MetadataExplorer.main(MetadataExplorer.java:50) > {noformat} > No big deal except that the JavaDoc at > [ModelBuildingRequest|http://maven.apache.org/ref/3.5.4/maven-model-builder/apidocs/org/apache/maven/model/building/ModelBuildingRequest.html] > says "The model resolver to use, may be null." > Not sure whether to update the docs or the code here. -- This message was sent by Atlassian JIRA (v7.6.3#76005)