[
https://issues.apache.org/jira/browse/IO-513?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15490886#comment-15490886
]
Stian Soiland-Reyes commented on IO-513:
----------------------------------------
I agree with Gary that there should be variants with the ClassLoader as an
additional parameter, (or even required parameter), use of these functions
will, unlike getResourceAsStream(), lead to errors in environments with
multiple classloaders (e.g. OSGi, or perhaps even within Tomcat), as:
IOUtils.class.getResource(name) will use the classloader of IOUtils, which
might not have access to the classloader that holds the resource you want. It's
all fine if you run on a single classpath (e.g. java -classpath
loads:of:tsuff).
And so a library using IOUtils.resourceTo* methods without providing the
ClassLoader might break by anyone trying to use it in such "enterprise"
environments.
Perhaps using the (a bit slow) Reflection.getCallerClass() is a better default
if no ClassLoader is provided and the resource can't be found? Or what do folks
think - is that too much magic?
Better javadoc might help (if devs read it) - but for sure the variant
providing the ClassLoader.
> Add convenience methods for reading class path resources
> --------------------------------------------------------
>
> Key: IO-513
> URL: https://issues.apache.org/jira/browse/IO-513
> Project: Commons IO
> Issue Type: New Feature
> Components: Utilities
> Reporter: Behrang Saeedzadeh
> Priority: Minor
> Labels: beginner, features, github-import, newbie
>
> Add convenience methods to {{IOUtils}} for reading class path resources and
> returning them as {{String}}, {{byte[]}}, and {{URL}} respectively.
> Github PR: https://github.com/apache/commons-io/pull/17
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)