Oskar created KARAF-6845:
----------------------------
Summary: Cannot read resource files with hash sign in the name
Key: KARAF-6845
URL: https://issues.apache.org/jira/browse/KARAF-6845
Project: Karaf
Issue Type: Bug
Components: karaf
Affects Versions: 4.2.7, 4.1.4, 4.3.0
Environment: Karaf 4.1.4, 4.2.7, 4.3.0.RC1 executed with both Java8
and Java11 on Ubuntu and Suse Linux
Reporter: Oskar
Trying to access a resource via class.getResourceAsStream() fails with NPE if
the file name contains hash (#).
Example bundle code to verify the fault:
{{@Component(immediate = true)}}
{{public class ResourceReader}}
{{{}}
{{ private static final Logger LOG = LogManager.getLogger();}}{{@Activate}}
{{ public void activate()}}
{{ {}}
{{ String fileNameWithoutHashes = "file_without_hash.txt";}}
{{ logFileContent(fileNameWithoutHashes);}}{{String fileNameWithHashes =
"file#with#hash.txt";}}
{{ logFileContent(fileNameWithHashes);}}
{{ }}}
{{ private void logFileContent(String resourceFileName)}}
{{ {}}
{{ InputStream stream = ResourceReader.class.getResourceAsStream("/" +
resourceFileName);}}
{{ try (BufferedReader bufferedReader = new BufferedReader(new
InputStreamReader(stream)))}}
{{ {}}
{{ LOG.info(bufferedReader.readLine());}}
{{ }}}
{{ catch (Exception e)}}
{{ {}}
{{ LOG.error("FAILURE: Could not read " + resourceFileName);}}
{{ }}}
{{ }}}
{{}}}
Resource files used:
src/main/resources/file_without_hash.txt - content irrelevant
src/main/resources/file#with#hash.txt - content irrelevant
_Running the test outside of Karaf do not give any issues._
--
This message was sent by Atlassian Jira
(v8.3.4#803005)