2016-03-21 11 views
1

私は動的なWebプロジェクトを使用しています。リソースファイルをロードします。web app javaファイルからリソースをロードする

私はこれをしなかった:

test.rqsrc/main/resourcesに存在するが、私はその行のためにNULLポインタを持っ
String queryTemplate = IOUtils.toString(this.getClass().getResource(
       "test.rq")); 

私は多分それはsrc /メイン/リソースは、Mavenの中に、メイン(デフォルト)リソースフォルダではありませんので、私は

ポンポンで
<build> 

     <resources> 
      <resource> 
       <directory>src/main/resources</directory> 
      </resource> 

     </resources> 
    </build> 

これを置くが、その後、私のASPページは、「私はドン(動作を停止思いましたtはなぜ知っている)ので、私はこのポンポン

+0

- 。 '/'を気に、または 'のgetClass()のgetClassLoader()のgetResource( "test.rq")' –

答えて

2

使用を変更することなく、src/main/resourcesから資源ことを取得する方法があると思い:

InputStream testIn = getClass().getResourceAsStream("/test.rq"); 
String queryTemplate = IOUtils.toString(testIn); 

は、 210にはInputStreamが入力されているようですので、getResourceAsStream()を使用しました。

nullポインタについては、リソースファイルにアクセスするためにクラスパスのルートを参照する必要がありますので、スラッシュはrootを意味する/test.rqを使用しました。 。 `はgetClass()のgetResource( "/ test.rq")`でなければなりません

+0

のinputStream。 java.oからお願いしますか? –

+0

私はあなたが何を求めているのか分かりませんが、はい、 'InputStream'を' IOUtils.toString() 'に渡す必要があります。 –

+0

ありがとうございます –

関連する問題