getResource 在一台服务器上返回 null,但在另一台服务器上不返回 null



我在两台不同的服务器上运行 2 个 tomcat 实例。我在它们两个上部署了相同的战争文件,但它的工作方式不同。

在 instnace 上,一切都很好,而在实例 2 上,我得到了一个 NullPointerException,因为"listAllConfigIds"方法中的变量"resource"是 NULL。

public List<String> listAllConfigIds() {
URL resource = SomeClass.class.getResource("./");
LOG.debug("Loading from resource " + resource);
return Arrays.asList(new File(resource.getPath()).list()).stream().filter(s -> !s.toLowerCase().contains("."))
.collect(Collectors.toList());
}

我在 AIX 上使用相同的 vm 参数启动了 tomcat。任何想法问题可能是什么?

我现在正在构建绝对路径,而不是相对路径:

SomeClass.class.getName().substring(0, SomeClass.class.getName().lastIndexOf(".")).replace(".", "/");

去掉最后一部分,将"."替换为"/">

相关内容

最新更新