Używam log4j już od jakiegoś czasu i zwykle używam go na górze log4j.xml (prawdopodobnie tak jak wiele innych i według Google jest to sposób na zrobienie tego):
<!DOCTYPE log4j:configuration SYSTEM "log4j.dtd">
Oczywiście to działa, jednak Eclipse nie zapewnia pomocy kontekstowej do pisania XML i wszystkich innych. Ponadto zawsze wyświetla ostrzeżenie, że nie znajduje pliku log4j.dtd
. Teraz jestem ciekawy, jak to naprawić.
Spróbowałem kilku rzeczy i te działają:
<!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">
Jak widać z góry, używamy Mavena. Dlatego próbowałem tego, ale się nie udaje:
<!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 zwykle wie, jak radzić sobie ze zmiennymi ścieżki klas, ale dlaczego to nie działa? Wiem, że odniesienie nie będzie działać w czasie wykonywania, ale nie jest to proste log4j.dtd
(jeśli się nie mylę), więc nie powinno to stanowić problemu.
Czy ktoś może rzucić na to światło?