This code snippet below, where I get the file from the folder inside the "/ resource" folder, works fine for me in Java 8:
//eg fileName = "folder0/file1.extension2" ClassLoader classLoader = ResourceLoader.class.getClassLoader(); InputStream in = classLoader.getResourceAsStream(fileName); Scanner scanner = new Scanner(in, "UTF-8");
In Java 9, this is not so, classLoader.getResourceAsStream (file_name) returns null:
java.lang.NullPointerException: source
However, if I use files directly from the "/ resource" folder, this works fine:
fileName = "file0.extension1"; // It works!
My question is quite obvious, to be honest, there are two of them:
- What's happening?
- How to fix it?
Here is my project structure :

*. jar Output structure:
*.jar: - javaFolder1 -javaFolder1.1 -ResourceLoader.class -jclass1.1.2.class -jclass1.1.3.class -javaFolder1.2 - javaFolder2 - .. - .. - unreachableResourceFolderImTryingToAccess1 -resource1.1.ext -resource1.2.ext - unreachableResourceFolderImTryingToAccess2 - .. - unreachableResourceFolderImTryingToAccess3 - .. -resource0.1.ext -resource0.2.ext - .. - somedll1.dll - somedll2.dll - ..
source share