0

Webアプリケーション内のいくつかのファイルを解析する必要があります。

これらのファイルは、.warファイルの最上位にあるディレクトリ(「edms」と呼ばれます)にあります。処理のためにディレクトリのハンドルを取得しようとすると、返されるリソースがvfszipプロトコルタイプであるため、エラーが発生します。

たとえば、MyClass.class.getResource( "/ edms")を使用すると、 "vfszip:C:/jboss/server/default/deploy/MyWar.war/edms"のようなものが返されます。

次に、このURLをFileオブジェクトで使用すると、基になるディレクトリとそれに含まれるファイルが見つからないため、失敗します。

Spring ResourceUtilsクラスの使用を検討しましたが、私が何をできるかを教えてもらうことができないようです:-

  1. ディレクトリのハンドルを取得します(私の.warファイル内)
  2. ディレクトリ内の各ファイルをループします-その内容を読み取って解析します

何か案は?

ありがとう

サラ

4

2 に答える 2

0

ハックとして、返さsubstringれるもののプロトコル部分だけMyClass.class.getResource("/edms")を使用し、残りをnew File(...)ステートメントで使用するとどうなりますか?

于 2011-10-27T10:56:42.593 に答える
0

これにはいくつかの解決策があります。

  • 1 つには、Spring 3+ にアップグレードすると、この問題は自動的に解決されます (JBoss AS6 以降には Spring 3.0.3+ を使用してください。
  • Spring 2.5 に行き詰まっている場合は、Snowdrop (http://www.jboss.org/snowdrop) を使用できます。より具体的には、VfsXmlWebApplicationContext (詳細についてはこちらをお読みください。

これが役に立てば幸いです、マリウス

于 2011-10-30T04:20:46.240 に答える