私は実際に、次のコードを使用して Java Web アプリに OWL ファイルをロードしています。
InputStream is = Dummy.class.getResourceAsStream("content.owl");
このファイルにアクセスするためDummy.class
に、同じパッケージで作成しました。content.owl
content.owl
ダミークラスを必要とせずに直接ロードする (リファクタリングセーフな) 方法はありますか?
私は実際に、次のコードを使用して Java Web アプリに OWL ファイルをロードしています。
InputStream is = Dummy.class.getResourceAsStream("content.owl");
このファイルにアクセスするためDummy.class
に、同じパッケージで作成しました。content.owl
content.owl
ダミークラスを必要とせずに直接ロードする (リファクタリングセーフな) 方法はありますか?
コンパイルされたファイルが配置されている出力フォルダーの場所に応じて、そのリソースの相対パスを指定することにより、任意のクラスからそのリソースを取得できるはずだと思います。
たとえば、最初はproj/src/a/b/content.owlパッケージのリソース ファイルと、このリソースにアクセスするクラスはパッケージproj/src/a/b/c/d/MyClass.java にあります。プロジェクトをビルドした後、実行可能ファイルは bin フォルダーの下に移動し、リソースにアクセスするクラスはproj/bin/a/b/c/d/MyClass.classディレクトリに移動し、リソースはproj/bin/a/b/ content.owl に移動します.
また、プロジェクトのクラスパスで出力フォルダーとしてbinフォルダーが指定されているため、次のコードでリソースにアクセスできます。
InputStream is = MyClass.class.getResourceAsStream("/a/b/content.owl");