Ich benutze log4j jetzt schon eine ganze Weile und benutze es normalerweise oben in der log4j.xml (wahrscheinlich genau wie viele andere und laut Google ist dies der Weg, dies zu tun):
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
Offensichtlich funktioniert dies, aber Eclipse bietet keine kontextsensitive Hilfe zum Schreiben von XML und allem. Außerdem wird immer eine Warnung angezeigt, dass das nicht gefunden wird log4j.dtd
. Jetzt bin ich gespannt, wie ich das beheben kann.
Ich habe ein paar Dinge ausprobiert und diese funktionieren:
<!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">
Wie Sie von oben sehen können, verwenden wir Maven. Deshalb habe ich das versucht, aber es schlägt fehl:
<!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 weiß normalerweise, wie man mit den Klassenpfadvariablen umgeht, aber warum funktioniert das nicht? Ich weiß, dass die Referenz zur Laufzeit nicht funktioniert, aber auch nicht einfach log4j.dtd
(wenn ich mich nicht irre), so dass dies kein Problem sein sollte.
Kann jemand bitte ein Licht darauf werfen?