# Log4j in Eclipse RCP Anwendung



## Konst (22. Nov 2009)

Ich versuche zur Zeit Log4j in Eclipse zum laufen zu kriegen...
Benutze ich es in einem normalen Java-Projekt gibt es keine Probleme...
Benutze ich es bei einem Eclipse Projekt, erhalte ich allerdings immer eine Fehlermeldung wie diese


```
java.lang.NoClassDefFoundError: org/apache/log4j/Logger
```

Das ganze in der Zeile, in der der Logger initialisiert wird.

In meinem einfachen Beispiel ist das:

```
Logger log = Logger.getRootLogger();
```

Ich habe schon alles mögliche probiert (z.B. auch Logger.getLogger(Klasse.class))
Nichts will gehen....


----------



## maki (22. Nov 2009)

Dir ist klar dass du ein OSGi Bundle brauchst, nicht die normale Log4J Jar?
Entweder du erstelltst dir selber ein OSGi Bundle für Log4J, oder du lädst ein fertiges runter 

Fertige gibt es zB hier: Eclipse Orbit Downloads
oder hier: SpringSource Enterprise Bundle Repository


----------



## Konst (22. Nov 2009)

danke für den Hinweis..
Ich wusste dies leider nicht -.-
Danke nochmal


----------



## Koringar (23. Nov 2009)

Hi,

eh man braucht nicht Zwangsläufig ein OSGi Bundle. Eine stick normale Jar reicht da auch schon aus, du musst es blos in deinem Plugin zur Runtime hinzufügen und nicht einfach so im Eclipse PackegExplorer 'addToBuildPath' machen. Denn bei mir läuft es so und das ohne so ein OSGi Bundle.


----------



## reinsle (23. Nov 2009)

Hy,



Koringar hat gesagt.:


> eh man braucht nicht Zwangsläufig ein OSGi Bundle. Eine stick normale Jar reicht da auch schon aus, du musst es blos in deinem Plugin zur Runtime hinzufügen und nicht einfach so im Eclipse PackegExplorer 'addToBuildPath' machen. Denn bei mir läuft es so und das ohne so ein OSGi Bundle.



Hast du dann schon mal probiert, das extern laufen zu lassen? Im Target wirst du imo ein entsprechendes Bundle brauchen.

Robert


----------



## maki (23. Nov 2009)

Koringar hat gesagt.:


> Hi,
> 
> eh man braucht nicht Zwangsläufig ein OSGi Bundle. Eine stick normale Jar reicht da auch schon aus, du musst es blos in deinem Plugin zur Runtime hinzufügen und nicht einfach so im Eclipse PackegExplorer 'addToBuildPath' machen. Denn bei mir läuft es so und das ohne so ein OSGi Bundle.


Ja, auch eine Option, dann läuft es eben in einem anderen Bundle mit und ist daurch wieder Teil eines Bundles.

Wenn man aber vorhat log4j in mehr als einem Bundle zu nutzen, was der Normalfall ist, macht man das aber nicht mehr so, sondern wieder als einzelnes, eigenständiges Bundle.


----------

