Я использую log4j уже довольно давно, и я обычно использую это в верхней части файла log4j.xml(возможно, как и многие другие, и, согласно Google, это способ сделать это):
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
Очевидно, что это работает, однако Eclipse не предоставляет свою контекстно-зависимую помощь для записи XML и всех. Кроме того, он всегда показывает предупреждение о том, что он не находит log4j.dtd
. Теперь мне интересно, как это исправить.
Я пробовал несколько вещей, и эти работы:
<!DOCTYPE log4j:configuration SYSTEM "jar:file:/path/.m2/repository/log4j/log4j/1.2.14/log4j-1.2.14.jar!/org/apache/log4j/xml/log4j.dtd">
<!DOCTYPE log4j:configuration SYSTEM "http://logging.apache.org/log4j/1.2/apidocs/org/apache/log4j/xml/doc-files/log4j.dtd">
Как вы можете видеть сверху, мы используем Maven. Поэтому я пробовал это, но он терпит неудачу:
<!DOCTYPE log4j:configuration SYSTEM "jar:file:${M2_REPO}/log4j/log4j/1.2.14/log4j-1.2.14.jar!/org/apache/log4j/xml/log4j.dtd">
Eclipse обычно знает, как обращаться с переменными classpath, но почему это не работает? Я знаю, что эта ссылка не будет работать во время выполнения, но также и простой log4j.dtd
(если я не ошибаюсь), поэтому это не должно быть проблемой.
Кто-нибудь может пролить свет на это?