2011-03-15 5 views
0

私はの展開 webappのホットデプロイメントを行っているJBoss ToolsとEclipseでローカルホストのJBoss 6セットアップを持っています。私は明示的なクラスパスとJAR/WARファイルを使ってメインクラスを使ってシェルを介してwebappを起動していました。私のリソースローダーは完全に動作していましたが、webappはJBoss上で "unknown"クラスパスを持つ展開されたディレクトリ構造になっているので、 "/db/jpql/whatever.jpql"のようなテキストファイルリソースは見つかりませんでした、NPEにつながる)。分解されたWebアプリケーションのルートからどのようにリソースを読み込みますか?

質問です:

どのように(JBossで)爆発のWebアプリケーションのルートから(またはWEB-INFディレクトリの外で)リソースをロードしますか?私はC:\ dev \ jboss \ bin \ run.jar以外のクラスパスをチェックしました...

+1

「正しい」アプローチを使用していた場合は、以前と同じように機能するはずです。リソースをロードするために使用するコードを表示します。 – skaffman

+0

あなたは正しいです。コーディングエラー。 – Kawu

+0

これを回答として投稿し、それを受け入れたとマークする必要があります。それ以外の場合は、質問を削除します。 – skaffman

答えて

0

私は自分のリソース文字列の先頭にスラッシュを付けるのを忘れていました。確実に動作することはできません。

私は現在のクラスクラスローダがnullを返した場合、Webアプリケーションのリソースを取得するために

public static String readResource(String sResource) 
{ 
    String sContent = ""; 

    InputStream is = null; 
    BufferedReader br = null; 

    try 
    { 
     is = TextFileLoader.class.getResourceAsStream(sResource); 

     // resource not found, check web environment 
     if (is == null) 
     { 
      is = FacesContext.getCurrentInstance().getExternalContext().getResourceAsStream(sResource); 
     } 

     is.available(); 

     br = new BufferedReader(new InputStreamReader(is)); 

     ... 
    } 

    ... 
} 

を使用していました。

関連する問題