[
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]