Christoph Läubrich created MNG-7544:
---------------------------------------

             Summary: MavenMetadataSource.retrieve(MetadataResolutionRequest) 
do not check for null when reading from project map
                 Key: MNG-7544
                 URL: https://issues.apache.org/jira/browse/MNG-7544
             Project: Maven
          Issue Type: Bug
            Reporter: Christoph Läubrich


At Tycho we see


{code:java}
[ERROR] Internal error: java.lang.NullPointerException: Cannot invoke 
"org.apache.maven.project.MavenProject.getRemoteArtifactRepositories()" because 
"project" is null -> [Help 1]
org.apache.maven.InternalErrorException: Internal error: 
java.lang.NullPointerException: Cannot invoke 
"org.apache.maven.project.MavenProject.getRemoteArtifactRepositories()" because 
"project" is null
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:120)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke0 (Native Method)
    at jdk.internal.reflect.NativeMethodAccessorImpl.invoke 
(NativeMethodAccessorImpl.java:77)
    at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke 
(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke (Method.java:568)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced 
(Launcher.java:282)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch 
(Launcher.java:225)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode 
(Launcher.java:406)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main 
(Launcher.java:347)
Caused by: java.lang.NullPointerException: Cannot invoke 
"org.apache.maven.project.MavenProject.getRemoteArtifactRepositories()" because 
"project" is null
    at org.apache.maven.project.artifact.MavenMetadataSource.retrieve 
(MavenMetadataSource.java:200)
    at 
org.apache.maven.repository.legacy.resolver.DefaultLegacyArtifactCollector.recurse
 (DefaultLegacyArtifactCollector.java:551)
    at 
org.apache.maven.repository.legacy.resolver.DefaultLegacyArtifactCollector.collect
 (DefaultLegacyArtifactCollector.java:148)
    at org.apache.maven.artifact.resolver.DefaultArtifactResolver.resolve 
(DefaultArtifactResolver.java:504)
    at org.apache.maven.repository.legacy.LegacyRepositorySystem.resolve 
(LegacyRepositorySystem.java:367)
    at 
org.eclipse.tycho.osgi.configuration.MavenDependenciesResolverConfigurer.resolve
 (MavenDependenciesResolverConfigurer.java:106)
    at org.eclipse.tycho.core.shared.MavenDependenciesResolver.resolve 
(MavenDependenciesResolver.java:58)
    at org.eclipse.tycho.p2.resolver.MavenTargetDefinitionContent.<init> 
(MavenTargetDefinitionContent.jav
{code}

This is because MavenMetadataSource assumes that if the model is read from a 
workspace model reader there is *always* a reactor project in the sessions 
project map, but this is not always true.

An obvious fix would be to simply assume there are no pomRepositories in such a 
case, or even query the Model itself with model.getRepositories() 




--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to