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

Sven Zethelius commented on IVY-1340:
-------------------------------------

Verified in 2.2.1.alpha_20120324002314.  file: works now with no 
NullPointerException.
                
> 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
>            Assignee: Maarten Coene
>            Priority: Minor
>             Fix For: trunk
>
>
> 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