- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Eigenes log4J
Hallo,
gibt es eine Version, die keine Klassen von log4J in org.slf4j (Datei fs-webrt.jar) mit liefert, da wir in unseren Modulen andere Versionen mitliefern?
Vielen Dank im Voraus!
Dirk
- Labels:
-
Developers
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Dirk,
das sollte mรถglich sein, wenn du den scope der resource auf "module" setzt. Also einfach eine andere Version von log4j als Resource in der module.xml definieren.
Viele Grรผรe
Christoph
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Christoph,
kann es dann nicht zu einem Problem kommen, wenn wir gegen Version X von slf4j kompilieren, aber das mit Version Y ausgeliefert wird?
Viele Grรผรe
Elmar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Elmar,
ich verstehe die Frage nicht ganz. Wenn du log4j als Resource im Modul angibst, musst du das log4j-Jar auch mit in das Modul packen. Da nimmst du die Version, die du haben willst.
Viele Grรผรe
Christoph
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Christoph,
auf dem FS Server funktioniert das auch soweit. Wenn Du aber daraus eine WebApp machst und das auf einen Server installierst hast Du ein Versionsproblem - in dem war File befinden sich dann zwei verschiedene log4j bzw slf4j, eine davon "versteckt" in dem fs-webrt.jar, was natรผrlich zu Problemen fรผhrt. Lassen wir nun unsere slf4j jars weg, knallt es, weil in dem fs-webrt.jar die falsche Version ist.
Das Problem ist also, was am Schluร รผber das war File auf dem Tomcat landet, nicht im FS Server.
Viele Grรผรe
Elmar
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Elmar,
den dezenten Hinweis auf die fs-webrt.jar hatte ich รผbersehen.
Das mit dem Scope funktioniert natรผrlich nur bei Modulen, die auf dem FirstSpirit-Server laufen. Die Webapplikationen haben ja nur einen Classpath und zumindest bei der Verwendung des internen Jetty wird das fs-webrt-jar gewinnen. In dem Fall bleibt euch nur kompatibel zur mitgelieferten Log4J bzw. slf4j Implementierung zu bleiben. Auf das fs-webrt.jar werdet ihr ja wahrscheinlich nicht verzichten kรถnnen.
Viele Grรผรe
Christoph
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo Christoph,
das ist wahr, auf das mitgelieferte fs-webrt.jar kรถnnen wir nicht einfach verzichten. Gibt es eine Liste von Klassen bzw. deren Versionen, die in diesem jar mit geliefert werden?
Vielen Dank im Voraus!
Dirk
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Wรผrde mich ebenfalls interessieren, Danke.
Gruร
David
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hallo zusammen,
Abhilfe kรถnnte das Shade-Plugin von Maven liefern. Damit ist es mรถglich Klassen zu "relocaten", d.h. ihren Klassenpfad zu รคndern. Z.B. von "com.foo.bar" auf "com.shaded.foo.bar". Somit kรถnnen Classloading-Konflikte, wie der oben beschriebene, vermieden werden.
https://maven.apache.org/plugins/maven-shade-plugin/examples/class-relocation.html
Eine Auflistung von allen Klassen inkl. Version die in den einzelnen FS-Jars enthalten sind gibt es meines Wissens nach nicht. Fรผr dieses "Feature" gibt es allerdings schon einen Feature-Request, fรผr den gerne gevoted werden darf :
https://community.e-spirit.com/ideas/1575
Grรผรe
Sandro

