0

私はたくさん検索しましたが、何も見つかりませんでした。選択した xml ファイルをスキーマ ファイルで検証したいと考えています。私の問題は、相対パスがGlassfishサーバーの構成フォルダーであるということです。このコードを実行するクラスの同じパッケージにコピーしたスキーマ ファイルの URL を取得しようとしましたが、まだファイルが見つかりません。ファイルをサーバー構成ファイルにコピーすることによってのみ機能させることができます。

URL url = ClassLoader.getSystemResource("/schema.xsd");
File file = new File(url.getPath());

しかし、url は null を返します。このファイルを見つけるにはどうすればよいですか。たとえ見つかったとしても、相対パスが /home/user/glassfish3/glassfish/domains/domain1/config であるため、ファイル オブジェクトを作成できないと思います。この問題を解決する方法はありますか? 事前に助けてくれてありがとう。

4

1 に答える 1

0

先頭のスラッシュは絶対パスになります。それを削除する場合は、ファイル名だけを残して、そのファイルをドメイン/構成ディレクトリに配置すると、機能するはずです。

このファイルを別の場所に置きたい場合は、../../prj/xsd/schema.xsd のように、ディレクトリ ツリーをさかのぼって相対パスを指定することもできます。

于 2013-09-03T21:48:29.487 に答える