Java 9.0 | ClassLoader :: getResourceAsStream: NullPointerException

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:

  1. Que se passe-t-il?
  2. Comment peut résoudre ce problème?

Voici la structure de mon projet :

entrez la description de l'image ici

* 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 - ..