1

我实际上是在我的 java web 应用程序中使用以下代码加载 OWL 文件:

InputStream is = Dummy.class.getResourceAsStream("content.owl");

Dummy.class在同一个包中创建了content.owl访问该文件的权限。

是否有一种(重构安全的)方法可以content.owl直接加载而不需要虚拟类?

4

1 回答 1

2

我认为您应该能够通过根据放置编译文件的输出文件夹的位置给出它的相对路径来从任何类中获取该资源。

例如,最初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");
于 2011-08-26T19:09:10.880 回答