[ https://issues.apache.org/jira/browse/VFS-444?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13497076#comment-13497076 ] Walter Eaves commented on VFS-444: ---------------------------------- Thanks. Yes, you would hope for that, but, ISTR, that approach failed for me because resolveFile() doesn't expect a URI. Even when you manage to get it to resolve to a FileName, the base of the FileName object is not part of the name, so you can't get it into a File object that works. It comes back as file://test.txt, relative to the base, which VFS won't tell you. But I will try what you suggested next time I have that code up. Thanks. > ResourceFileProvider "res://" failed to obtain FileObject from resolved FileName > -------------------------------------------------------------------------------- > > Key: VFS-444 > URL: https://issues.apache.org/jira/browse/VFS-444 > Project: Commons VFS > Issue Type: Bug > Affects Versions: 2.0 > Environment: java version "1.6.0_26" > Java(TM) SE Runtime Environment (build 1.6.0_26-b03) > Java HotSpot(TM) 64-Bit Server VM (build 20.1-b02, mixed mode) > Linux x 2.6.32-5-amd64 #1 SMP Sun May 6 04:00:17 UTC 2012 x86_64 GNU/Linux > Reporter: Walter Eaves > Labels: common-configuration > Fix For: 2.0 > > Original Estimate: 168h > Remaining Estimate: 168h > > Given > // See if we can find it in the resources. > String s0 = "res://config.xml"; > FileName n0 = mgr.resolveURI(s0); > FileObject c1 = mgr.resolveFile(new File(n0.getBaseName()), n0.getPath()); > logger.info("c1: " + c1 + " : " + c1.exists()); > The code seems to have worked because, I can see the logger has the right URL in the SoftResFilesCache > 12:43:29,734 DEBUG [StandardFileSystemManager] Skipping provider "org.apache.commons.vfs2.provider.webdav.WebdavFileProvider" because required class "org.apache.jackrabbit.webdav.client.methods.DavMethod" is not available. > 12:43:29,765 DEBUG [SoftRefFilesCache] putFile: file:///misc/build2/fpstats0/fpstats-experimental/config.xml > 12:43:29,767 DEBUG [SoftRefFilesCache] putFile: file:///config.xml > 12:43:29,767 INFO [Version] c1: file:///config.xml : false > The file is there! > But I cannot get a FileObject that gives me the absolute path. > This would be useful for me. I want to be able to resolve a file out of the resources: jar files and classes/ directories. And keep that in reserve as I try and resolve the same file in -Duser.home and elsewhere. > If it worked, and I believed it, I could then use the "res://config.xml" it for commons-configuration. > But I can't. > I just don't understand the API - is it complete? I can resolve a URL and get a FileName, but it won't tell me the FileSystem(s) without that I can't resolve it in this SoftResFilesCache. > If it were me, I would just open the SoftResFilesCache and add a search for the base filename of a URL across all FileSystems. > I use a filesystems to find things. I give it a hint where I saw it last and I want to track if it is still there and whether it has changed. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira