getResource возвращает ноль на одном сервере, но не на другом - PullRequest
0 голосов
/ 12 февраля 2020

Я запускаю 2 экземпляра tomcat на двух разных серверах. Я развернул один и тот же файл войны на обоих из них, но он не работает одинаково.

На первом экземпляре все в порядке, а на втором - исключение NullPointerException, поскольку переменная "resource" в "listAllConfigIds" "method is 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());
}

Я запустил tomcat с теми же аргументами vm в AIX. Есть идеи, в чем проблема?

1 Ответ

0 голосов
/ 13 февраля 2020

Вместо относительного пути я сейчас строю абсолютный путь:

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

Удалите последнюю часть и замените "." с "/"

...