2

同じjar内に保持されているJavaコードを使用して、jarに保持されているxsdファイルを読み込もうとしています。次のコードを使用しています。

URL tmpurl = ClassLoader.getSystemResource("com/abc/filename.xsd");

Schema s = schemaFactory.newSchema(tmpurl);
jaxbUnMarshaller.setSchema(s);

別のプロジェクトとして実行すると正常に動作しますが、jar を作成すると tmpurl が null になるため、setSchema で null ポインター例外が発生します。

jarファイル内でも実行できる回避策を教えてください。

4

1 に答える 1

4

あなたが試したハバ?

getClass().getClassLoader().getResource()

またclasspath、jar内のマニフェストファイルも重要です。

ここで受け入れられた回答を見てください:

Class.getResourceおよびClassLoader.getSystemResource:一方を他方よりも優先する理由はありますか?

ClassLoaderを使用したファイルのロード

于 2013-01-08T06:13:23.023 に答える