Ce morceau de code ci-dessous, où je tire mon fichier du dossier qui se trouve dans le dossier ” / resource “, me convient parfaitement dans Java 8:
//eg fileName = "folder0/file1.extension2" ClassLoader classLoader = ResourceLoader.class.getClassLoader(); InputStream in = classLoader.getResourceAsStream(fileName); Scanner scanner = new Scanner(in, "UTF-8");
En Java 9, classLoader.getResourceAsStream (nomFichier) renvoie null:
java.lang.NullPointerException: source
Cependant, si j’utilise des fichiers directement du dossier ” / resource “, cela fonctionne correctement:
fileName = "file0.extension1"; // It works!
Ma question est assez évidente, pour être honnête, il y en a deux:
Voici la structure de mon projet :
* structure de sortie .jar :
*.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 - ..