Uso log4j da un po 'di tempo ormai e di solito lo uso all'inizio di log4j.xml (probabilmente proprio come molti altri e secondo Google questo è il modo per farlo):
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
Ovviamente questo funziona, tuttavia Eclipse non fornisce la sua guida sensibile al contesto per la scrittura dell'XML e tutto il resto. Inoltre, mostra sempre un avviso che non trova il file log4j.dtd
. Ora sono curioso di sapere come risolvere questo problema.
Ho provato alcune cose e queste funzionano:
<!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">
Come puoi vedere dall'alto stiamo usando Maven. Pertanto, ho provato questo, ma non riesce:
<!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 di solito sa come gestire le variabili classpath, ma perché non funziona? So che il riferimento non funzionerà durante il runtime, ma nemmeno un semplice log4j.dtd
(se non sbaglio), quindi non dovrebbe essere un problema.
Qualcuno può far luce su questo?