2016-05-26 2 views
0

私のテストではリソースフォルダからcsvファイルとしてリソースをロードしたい単純なMavenプロジェクトがあります。MavenリソースJUnitのエラー

URL url = getClass() 
     .getClassLoader() 
     .getResource("/myData.csv"); 
System.out.println(this.getClass().getResource(".")); 
System.out.print(url); // this gives null 

私がURLの場合はnullを取得します:私は次のコードスニペットを実行すると、リソースフォルダが

のsrc /テスト/リソースのもとで利用可能です!ここに私のビルドファイルです:

<build> 
    <resources> 
     <resource> 
      <directory>src/test/resources</directory> 
      <includes> 
       <include>*.csv</include> 
      </includes> 
     </resource> 
    </resources> 
    <plugins> 
     <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>3.5.1</version> 
      <configuration> 
       <source>${target.jdk}</source> 
       <target>${target.jdk}</target> 
      </configuration> 
     </plugin> 
    </plugins> 
</build> 

なぜこれは動作しません?私はIntelliJにいる!

+0

を参照してください。 – Tunaki

答えて

0

ClassLoader経由で(Classとは対照的に)リソースをロードする場合、絶対URLを使用する必要はないため、先行スラッシュ/を削除してください。詳細について

、あなたがそれを必要としない、完全にあなたの `` ブロックを削除 https://stackoverflow.com/a/6608848/2492865

+0

デフォルトでは、Mavenには、リソースとして 'src/main/resources'のすべてが含まれ、' src/test/resources'には注意が必要です。テストリソースとして使用します(テストおよび統合テストフェーズでのみ使用可能です。)主リソースをオーバーライドして、テストリソースを指摘します。 –

関連する問題