0

场景如下:

  • 使用 jdeveloper 开发 jsp 应用程序
  • 部署到 Oracle Weblogic
  • 所有文件都在同一个项目中
  • src源文件位于文件夹内的包中
  • 文件夹内Resources有两个文件:menu.jsonTestWS.properties

因此,我创建了一个 java 类,它应该menu.json根据其结构读取并返回一个菜单(在 html 中)。

当,在课堂上,我这样做

InputStream i =
    Thread.currentThread().getContextClassLoader().
        getResourceAsStream("Resources/menu.json");
BufferedReader r = new BufferedReader(new InputStreamReader(i));

构造InputStreamReader函数抛出一个NullPointerException,我想是因为它找不到文件。

有趣的是,如果我尝试加载TestWS.properties,它加载得很好。

我尝试检查项目的属性,手动添加两个文件Project Source Path -> Resources,添加.json扩展名Compiler -> Copy file types to output directory,重命名,删除,重新创建,更改扩展名到 json 文件,部署到 WAR 并将项目加载到另一台运行 weblogic 的机器上,但无济于事。

还有什么我想念的吗?

4

1 回答 1

1

本文对此进行了解释。

简而言之,您必须更改编译器设置“将文件类型复制到输出目录”以包含您希望在运行时可用的资源的扩展。

于 2012-07-16T16:23:44.973 回答