2011-01-20 26 views
1

xsスキーマファイルに対してxmlファイルを検証したいと考えています。今、xmlファイルをコマンドライン引数として提供しています。スキーマファイルをクラスパス内に保持する必要があります。私は、JavaXerces Java ParserはClassPathからリソースをロードし、Jar実行可能ファイルで実行できますか?

のためのXerces(2_11_0)パーサを使用しました。このため

私は、パッケージ内のスキーマファイルを保持し、私のクラスパス内でこのフォルダを追加しました。

String SCHEMA = this.getClass().getResource(SCHEMA_NAME).getFile(); 
parser.setProperty("http://apache.org/xml/properties/schema/external-noNamespaceSchemaLocation", SCHEMA); 

私はEclipse内でコードを実行すると、魅力的に機能しますが、プロジェクトを実行可能なjarファイルとしてエクスポートすると問題が発生します。

jarファイルを実行しようとすると、SCHEMAファイルが見つかりません。

ファイル:/ C:/ MY_JAR!

を/PACKAGE/SCHEMA_FILE.xsd

は誰も私は、これは実行可能なjarファイルおよびそれのための溶液から働いていない理由を知っていることはできますか?

詳細情報が必要な場合はお知らせください。 this.getClass().getResource(SCHEMA_NAME)のためのURLは今jar:file:/C:/MY_JAR!/PACKAGE/SCHEMA_FILE.xsdのようなものであるためだ

おかげ

答えて

0

。ちょうどthis.getClass().getResource(SCHEMA_NAME).toString()を使用すれば動作するかどうかを見てください。

+0

文字列に変換しても機能しません。私は "java -jar my_jar.jar"を実行していて、同じエラーファイルを出します:/ C:/ MY_JAR!/PACKAGE/SCHEMA_FILE.xsd – user1584499

+0

元の質問を編集してスタックトレースを追加してください。 'SCHEMA'の値にいくつかの出力を加えてください。 – kschneid

関連する問題