@nullpointer - log4j поставляется с файлом JAR с именем log4j-1.2-api-2.9.0.jar, который используется для мостового соединения приложений, использующих старый API log4j. Это имя модуля будет «log4j», если используется как автоматический модуль. На вопрос о том, является ли log4j2.xml инкапсуляцией, ответ - «нет», потому что это каталог верхнего уровня. Каталог верхнего уровня является эквивалентом неназванного пакета и поэтому не является членом модуля (поскольку модуль содержит только именованные пакеты).

я был проект Java 8, и мой файл конфигурации был в папке ресурсов, и все работало нормально. Теперь я перешел на Java 9, добавил требование дляlog4j.apiи файл конфигурации больше не может быть найден.

Нужно ли добавить что-то еще в мойmodule-info файл для регистратора, чтобы найти его конфигурации?

На данный момент это так

module project.main {
    requires jdk.incubator.httpclient;
    requires jackson.databind;
    requires jackson.core;
    requires jackson.annotations;
    requires log4j.api;
}

Структура проекта такова:

Файл build.gradle выглядит так:

Ответы на вопрос(1)

Ваш ответ на вопрос