Classe getResourceAsStream() ressource dans un package différent

J'ai quelque chose comme la structure de projet suivante

-project 
    -src/main/java //source folder
        -com.mypackage
            -Utility.java
            -some.properties
    -src/main/resources //source folder
        -configuration_files
            -configuration_report.txt

Je suis de la génération de la jar avec Eclipse du Export fonction. Le ci-dessus se traduit par une jar avec la structure:

-myjar.jar
    -com
        -mypackage
            -Utility.class
            -some.properties
    -configuration_files
        -configuration_report.txt

Dans le Utility classe, je vais essayer d'obtenir les InputStream de configuration_report.txt.

Je faisais cela (il est dans un static méthode):

Utility.class.getResourceAsStream("/configuration_files/configuration_report.txt"); 

qui semble être confirmé par la réponse à cette question, puisque le fichier n'est pas dans le même package que la classe en faisant la demande.

Quand je le lance, toutefois, elle renvoie null. Pourquoi?

Noter que pour la some.properties fichier, j'ai pu faire les deux

Utility.class.getResourceAsStream("/com/package/some.properties");
Utility.class.getResourceAsStream("some.properties");

et je voudrais obtenir le flux.

Je suis en train d'exécuter cette ligne de commande si cela fait une différence.

java [-agentlib:jdwp=transport=dt_socket,server=y,suspend=y,address=1044] -cp myjar.jar MyMain

Si j'essaie de le lancer au sein d'Eclipse, il fonctionne...

Edit:

Ce code est pertinent. Avec ou sans le précédent /, il retourne la valeur null

    String sourceFilePath = "/configuration_files" + File.separator + "configuration_report.txt";
    InputStream in = Utility.class.getResourceAsStream(sourceFilePath);

OriginalL'auteur Sotirios Delimanolis | 2013-05-01