# log4j.dtd nicht in jar gefunden



## SebiB90 (9. Mai 2009)

Hi,

ich benutze in meinem Programm log4j und nehme die Konfiguration per XML vor. Wenn ich das Programm in eclipse starte, läuft alles problemlos. Jetzt habe ich eine Jar Datei draus gemacht und habe die log4j.xml und log4j.dtd ebenfalls in die jar datei gepackt (beide im root verzeichnis des jars). Die log4j.xml scheint er zu finden, aber die dtd irgendwie nicht, denn folgende ausgabe kommt

```
>java -jar KassenSystemV2
log4j:WARN Could not find [log4j.dtd] using [sun.misc.Launcher$AppClassLob86e7] class loader, parsed without DTD.
log4j:WARN Continuable parsing error 4 and column 22
log4j:WARN Element type "log4j:configuration" must be declared.
log4j:WARN Continuable parsing error 5 and column 68
log4j:WARN Element type "appender" must be declared.
log4j:WARN Continuable parsing error 6 and column 52
log4j:WARN Element type "layout" must be declared.
log4j:WARN Continuable parsing error 7 and column 66
log4j:WARN Element type "param" must be declared.
log4j:WARN Continuable parsing error 11 and column 9
log4j:WARN Element type "root" must be declared.
log4j:WARN Continuable parsing error 12 and column 31
log4j:WARN Element type "priority" must be declared.
log4j:WARN Continuable parsing error 13 and column 34
log4j:WARN Element type "appender-ref" must be declared.
(logging fängt an)
```

Wie kann ich das umgehen? Bzw wie kann ich angeben, dass die dtd im jar file ist?

Danke im voraus
SebiB90


----------



## SebiB90 (10. Mai 2009)

Konfiguriert ihr alle über property dateien oder wie kommts das niemand ne antwort weiß?^^


----------



## maki (11. Mai 2009)

> und log4j.dtd ebenfalls in die jar datei gepack


Hä, wieso das denn??


----------



## SebiB90 (11. Mai 2009)

Weil ich alles in einer Datei haben will und die dtd Datei im gleichen verzeichnis wie die xml sein muss. Daher auch die dtd in die Jar.
Nur er findet die nicht, wie man an dem log sehen kann.


----------



## maki (11. Mai 2009)

Wie schnürst du denn alles in eine Jar zusammen?
Mit FatJar?
Einem anderen Tool?
Oder Manuell?

Jedenfalls scheint dabei etwas schief zu laufen..


----------



## SebiB90 (11. Mai 2009)

Mit einem ant file.
Wenn ich die jar datei entzippe sind log4j.xml und log4j.dtd auf der höchsten ebene.
also die struktur des jars sieht so aus:

KassenSystemV2.jar
|_ org (weitere unter packages)
|_ META-INF
|_ info (weitere unter packages)
|_ de (weitere unter packages)
|_ main_de.properties
|_ log4j.xml
|_ log4j.dtd


----------



## maki (11. Mai 2009)

> Wenn ich die jar datei entzippe sind log4j.xml und log4j.dtd auf der höchsten ebene.


Im Original log4j.jar liegt die DTD unter org/apache/log4j/xml


----------



## SebiB90 (11. Mai 2009)

Ah cool 
Wenn die dtd in dem package drin ist, funktioniert es. Hatte beim unjar ein mapper mit **/*.class drin, deswegen kam die nicht mit.
Dachte ich hätte wo gelesen, dass beide dateien (xml und dtd) im gleichen verzeichnis sein müssten.

Thx


----------

