[ https://issues.apache.org/jira/browse/CONFIGURATION-252?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel#action_12469899 ]
Heiko Seebach commented on CONFIGURATION-252: --------------------------------------------- Yes, I think that's fine. Maybe the JavaDoc could remind the the user that new File("/file.properties").isAbsolute() is false under Windows but true under Unix.... > Detection of absolute fileNames when configuration sources are defined in a > JAR file > ------------------------------------------------------------------------------------ > > Key: CONFIGURATION-252 > URL: https://issues.apache.org/jira/browse/CONFIGURATION-252 > Project: Commons Configuration > Issue Type: Bug > Affects Versions: 1.3 > Environment: Linux > Reporter: Heiko Seebach > Attachments: support-for-jar-protocol.patch.txt > > > When using several configuration sources, the sources are defined in a an xml > attribute like > fileName="usergui.properties" > The method org.apache.commons.configuration.ConfigurationUtils.getFile(String > basePath, String fileName) converts the basePath and fileName into a File. > The JavaDoc says: "The parameter strings can be relative files, absolute > files and URLs as well." > The file containing the definition of the configuration sources will become > the basePath of this method. > After a log of debugging I found, that if the basePath start with "jar:" the > method assumes that the fileName is relative, evene if it's absolute. This > happens, because there's a ProtocolHandler for Jar files and "jar:" is a > valid protocol. So the statement "new URL(new URL(basePath), fileName)" > doesn't throw a MalformedUrlException. > Since the URL is valid, it's never checked, if the fileName may be absolute. > Attention: this is only the case on Unix/Linux, since this is a valid URL > jar:file:/C:/myjar.jar!/my-config.xml/someprops.properties > while under Windows, a MalformedUrlException will be thrown, when the > fileName is absolute: > jar:file:/C:/myjar.jar!/my-config.xml/c:/someprops.properties > I attached a patch that checks, whether the URL protocol is "jar" and the > fileName is absolute. If so, the absolute file will be used. -- This message is automatically generated by JIRA. - You can reply to this email to add a comment to the issue online. --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]