この問題はしばらくの間私を悩ませてきました。Javaアプリにいくつかのファイルをロードする必要がありますが、これまでに作業を開始した唯一の方法は次のようになります。
URL hsURL;
if(System.getProperty("os.name").toLowerCase().contains("windows")) {
hsURL = new URL("file:/" + System.getProperty("user.dir") + "/helpsets/helpset.hs");
}
else {
hsURL = new URL("file://" + System.getProperty("user.dir") + "/helpsets/helpset.hs");
}
しかし、これは醜くてひどいです。しばらくの間、私はこれが機能していると思っていました:
hsURL = ClassLoader.getSystemResource("helpsets/helpset.hs");
しかし、それは何らかの理由で機能しなくなりました(私は何かを変更したに違いなく、気づかなかったに違いありません。nullを返します。
getSystemResource()の代わりにgetResource()を使用する必要があります(使用している場合、getSystemResource()は静的ですがgetResource()ではないのはなぜですか?)
私はEclipseを使用していますが、ビルドパス(クラスパス)にフォルダーを含めてみましたが、含めないようにしましたが、違いはないようです。