NullPointerException from URLResolver (URLRepository
----------------------------------------------------

                 Key: IVY-1340
                 URL: https://issues.apache.org/jira/browse/IVY-1340
             Project: Ivy
          Issue Type: Bug
          Components: Core
    Affects Versions: 2.2.0
         Environment: Windows 7, Ant 1.8.1, Ivy 2.2.0, Java 1.6
            Reporter: Sven Zethelius
            Priority: Minor


There is an inconsistency in the handling of URLResource "file:" URLs.  If the 
url is "file:d:mydir/", it will discover the artifacts at that address, but the 
output contains a NullPointerException warning due to 
URLRepository.list(String) line: 119 (in 2.2.0).  Changing it to 
"file://d:mydir/" gets rid of the NullPointerException.  This is because of new 
URI(parent).getPath() returns null for file: but not file://.  new 
URL(parent).getFile() works with both as an alternative.  

Also repros with 2.2.1.alpha_20120313100444


Ivy output:
[ivy:resolve]   problem while listing resources in 
file:o:/build/ivyup/deliverables//com.expedia.cc.container.core with Local:
[ivy:resolve]     java.lang.NullPointerException null

The full stack at the time of the exception:
Thread [main] (Suspended (breakpoint at line 36 in NullPointerException))       
        NullPointerException.<init>() line: 36 [local variables unavailable]    
        File.<init>(String) line: 222   
        URLRepository.list(String) line: 119    
        ResolverHelper.listTokenValues(Repository, String, String) line: 64     
        ResolverHelper.findAll(Repository, ModuleRevisionId, String, Artifact) 
line: 146        
        URLResolver(RepositoryResolver).listResources(Repository, 
ModuleRevisionId, String, Artifact) line: 185 
        
URLResolver(RepositoryResolver).findDynamicResourceUsingPattern(ResourceMDParser,
 ModuleRevisionId, String, Artifact, Date) line: 149   
        
URLResolver(RepositoryResolver).findResourceUsingPattern(ModuleRevisionId, 
String, Artifact, ResourceMDParser, Date) line: 132  
        
URLResolver(AbstractPatternsBasedResolver).findResourceUsingPatterns(ModuleRevisionId,
 List, Artifact, ResourceMDParser, Date) line: 93 
        URLResolver(AbstractPatternsBasedResolver).findArtifactRef(Artifact, 
Date) line: 81     
        URLResolver(BasicResolver).getArtifactRef(Artifact, Date) line: 928     
        URLResolver(BasicResolver).findFirstArtifactRef(ModuleDescriptor, 
DependencyDescriptor, ResolveData) line: 865  
        URLResolver(BasicResolver).getDependency(DependencyDescriptor, 
ResolveData) line: 236   
        ChainResolver.getDependency(DependencyDescriptor, ResolveData) line: 
104        
        IvyNode.loadData(String, IvyNode, String, String, boolean, 
IvyNodeUsage) line: 169      
        VisitNode.loadData(String, boolean) line: 287   
        ResolveEngine.fetchDependencies(VisitNode, String, boolean) line: 696   
        ResolveEngine.doFetchDependencies(VisitNode, String) line: 781  
        ResolveEngine.fetchDependencies(VisitNode, String, boolean) line: 704   
        ResolveEngine.doFetchDependencies(VisitNode, String) line: 769  
        ResolveEngine.fetchDependencies(VisitNode, String, boolean) line: 704   
        ResolveEngine.doFetchDependencies(VisitNode, String) line: 781  
        ResolveEngine.fetchDependencies(VisitNode, String, boolean) line: 704   
        ResolveEngine.doFetchDependencies(VisitNode, String) line: 769  
        ResolveEngine.fetchDependencies(VisitNode, String, boolean) line: 704   
        ResolveEngine.doFetchDependencies(VisitNode, String) line: 769  
        ResolveEngine.fetchDependencies(VisitNode, String, boolean) line: 704   
        ResolveEngine.getDependencies(ModuleDescriptor, ResolveOptions, 
ResolveReport) line: 576        
        ResolveEngine.resolve(ModuleDescriptor, ResolveOptions) line: 237       
        ResolveEngine.resolve(URL, ResolveOptions) line: 195    
        Ivy.resolve(URL, ResolveOptions) line: 502      
        IvyResolve.doExecute() line: 244        
        IvyResolve(IvyTask).execute() line: 277 
        UnknownElement.execute() line: 291      
        GeneratedMethodAccessor4.invoke(Object, Object[]) line: not available   
        DelegatingMethodAccessorImpl.invoke(Object, Object[]) line: 25  
        Method.invoke(Object, Object...) line: 597      
        DispatchUtils.execute(Object) line: 106 
        UnknownElement(Task).perform() line: 348        
        Target.execute() line: 390      
        Target.performTasks() line: 411 
        Project.executeSortedTargets(Vector) line: 1397 
        Project.executeTarget(String) line: 1366        
        DefaultExecutor.executeTargets(Project, String[]) line: 41      
        Project.executeTargets(Vector) line: 1249       
        Main.runBuild(ClassLoader) line: 801    
        Main.startAnt(String[], Properties, ClassLoader) line: 218      
        Launcher.run(String[]) line: 280        
        Launcher.main(String[]) line: 109       


--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

Reply via email to