Zum Hauptinhalt gehen

Eigenes log4J

Kommentare

8 Kommentare

  • Zendesk API User
    Author: feddersen - 8/7/2012 10:00

    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

    0
  • Zendesk API User
    Author: epitschke - 8/13/2012 6:37

    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

    0
  • Zendesk API User
    Author: feddersen - 8/13/2012 8:52

    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

    0
  • Zendesk API User
    Author: epitschke - 8/14/2012 7:47

    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

    0
  • Zendesk API User
    Author: feddersen - 8/14/2012 9:26

    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

    0
  • Zendesk API User
    Author: dirweis - 9/10/2012 15:09

    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

    0
  • Zendesk API User
    Author: plamka - 5/20/2016 12:28

    Würde mich ebenfalls interessieren, Danke.

    Gruß

    David

    0
  • Zendesk API User
    Author: bIT_sosswald - 5/23/2016 7:18

    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 :smileywink::

    https://community.e-spirit.com/ideas/1575

    Grüße

    Sandro

    0

Bitte melden Sie sich an, um einen Kommentar zu hinterlassen.