2

クラスパスからリソースファイルにアクセスしようとしています。ビルドパスに追加された「config」というフォルダーにすべてのリソースを保存しました。今問題は、私はそれらにアクセスすることができないということです。次のオプションを試しましたが、どれも機能しないようです。すべてがnullを返します。

String resourceName = "/config/LPANewCommonModelSchema.xsd";
System.out.println(getClass().getClassLoader().getResource(resourceName));
System.out.println(getClass().getResource(resourceName));
System.out.println(Thread.currentThread().getContextClassLoader().getResource(resourceName));

String resourceName = "config/LPANewCommonModelSchema.xsd";
System.out.println(getClass().getClassLoader().getResource(resourceName));
System.out.println(getClass().getResource(resourceName));
System.out.println(Thread.currentThread().getContextClassLoader().getResource(resourceName));

String resourceName = "/LPANewCommonModelSchema.xsd";
System.out.println(getClass().getClassLoader().getResource(resourceName));
System.out.println(getClass().getResource(resourceName));
System.out.println(Thread.currentThread().getContextClassLoader().getResource(resourceName));

String resourceName = "LPANewCommonModelSchema.xsd";
System.out.println(getClass().getClassLoader().getResource(resourceName));
System.out.println(getClass().getResource(resourceName));
System.out.println(Thread.currentThread().getContextClassLoader().getResource(resourceName));

編集:誰かが階層を求めた、 ここに画像の説明を入力してください

よろしくお願いします、ハーシャ

4

1 に答える 1

1

これを試してください(現在のカルスがリソースフォルダーの横にあると仮定します)

InputStream in = this.getClass().getClassLoader()
                                .getResourceAsStream("config/LPANewCommonModelSchema.xsd");

またはこれ

InputStream in = this.getClass().getResourceAsStream("/config/LPANewCommonModelSchema.xsd");
于 2012-12-09T12:31:54.897 に答える