getClass().getResourceAsStream() dans le projet maven

L'pom.xml de mon projet maven se présente comme suit:

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>groupId</groupId>
  <artifactId>artifactId</artifactId>
  <version>0.0.1-SNAPSHOT</version>

  <build>
   <sourceDirectory>src/main/java</sourceDirectory>
   <resources>
    <resource>
     <directory>src/main/resources</directory>
    </resource>
   </resources>
  </build>
</project>

Dans le répertoire src/main/resources répertoire, j'ai un fichier nommé test.
Dans le répertoire src/main/java répertoire j'ai une classe qui contient la ligne suivante:

System.out.println(this.getClass().getResourceAsStream("test"));

Lorsque la ligne de code est exécuté au sein d'Eclipse, j'obtiens en sortie

java.io.BufferedInputStream@1cd2e5f 

Lorsque j'exporte le projet .jar et exécuter ce que je reçois en tant que sortie

 null

Ai-je configurer quelque chose de mal?

C'est la classe de test unitaire ou d'une véritable classe productive? Je suppose une classe productive. Que vous avez à changer les getResourcesAsStream("test") dans getResourcesAsStream("/test");
vous avez raison... mais pourquoi est-ce de travailler avec eclipse ???
Est-ce la ressource de test situé dans le src/main/resources dossier ou dans src/test/resources dossier avec ou sans nom de package? En outre, vous n'avez pas besoin de configurer le src/main/java, ni src/main/resources dossier, parce qu'ils sont par défaut de maven.

OriginalL'auteur hansi | 2013-02-05