Eu uso o log4j há um bom tempo e geralmente o uso no topo do log4j.xml (provavelmente como muitos outros e de acordo com o Google, esta é a maneira de se fazer):
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
Obviamente, isso está funcionando, no entanto, o Eclipse não fornece sua ajuda contextual para escrever o XML e tudo. Além disso, sempre mostra um aviso de que não encontra o log4j.dtd
. Agora estou curioso para saber como consertar isso.
Tentei algumas coisas e estas funcionam:
<!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">
Como você pode ver acima, estamos usando o Maven. Portanto, tentei fazer isso, mas não deu certo:
<!DOCTYPE log4j:configuration SYSTEM "jar:file:${M2_REPO}/log4j/log4j/1.2.14/log4j-1.2.14.jar!/org/apache/log4j/xml/log4j.dtd">
O Eclipse geralmente sabe como lidar com as variáveis do caminho de classe, mas por que isso não funciona? Eu sei que a referência não funcionará durante o tempo de execução, mas nem um simples log4j.dtd
(se não estou errado), então isso não deve ser um problema.
Alguém pode, por favor, lançar uma luz sobre isso?