org/slf4j/LoggerFactory kann nicht gefunden werden

konze

Mitglied
Hallo zusammen,

ich möchte gerne jcouchdb verwenden und habe versucht ein kleines Beispiel von offiziellen Projektseite von jcouchdb zu verwenden. Dazu habe ich ein neues Eclipse Projekt erstellt und die jcouchdb-1.0.1-1.jar als externes JAR eingebunden. Wenn ich nun den folgenden Code ausführe:
Java:
import org.jcouchdb.db.*;

public class Sofa {
	public static void main(String[] args) {
		System.out.println("This is a Sofa, pleas take a seat.");
		
		Database db = new Database("localhost", "mycouchdb");
	}
}
Erhalte ich den folgenden Fehler:
Code:
java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory

Daraufhin hab ich
Code:
slf4j-api-1.7.2.jar
und
Code:
slf4j-simple-1.7.2.jar
als externe JARs in Eclipse eingebunden, so wie es mir auf vielen Seiten beschrieben wurde.
Leider erhalte ich immer noch den selben Fehler.

Ich bin für jeden Tipp dankbar.

Vielen Dank und viele Grüße,

konze
 
Danke für den Hinweis.

Ich habe nun die ganzen angegebenen JARs zu meinem Projekt hinzugefügt (siehe hier). Leider erhalte ich trotzdem immernoch folgende Fehlermeldung:
Code:
This is a Sofa, pleas take a seat.
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
	at org.jcouchdb.db.Database.<clinit>(Database.java:56)
	at Sofa.main(Sofa.java:7)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	... 2 more
 
Also du hast die slf4j-*.jar in dein Projekt Kopiert und dann zum ClassPath hinzugefügt. Weil für mich sieht es so aus, dass die Jars nicht korrekt im ClassPath eingebauten waren / sind.
 
Wie bindest du den die Jar's ein?

Also du hast die slf4j-*.jar in dein Projekt Kopiert und dann zum ClassPath hinzugefügt. Weil für mich sieht es so aus, dass die Jars nicht korrekt im ClassPath eingebauten waren / sind.

Ich binde die JARs über Eclipse ein über "Project -> Properties -> Java Build Path -> Libraries -> Add External JARs..".
Ich gehe davon aus das Eclipse den Classpath korrekt setzt.

Auf den zweiten. Dort fehlt slf4j.

Folgende JARs sind im slf4j-Paket enthalten.

Code:
jcl-over-slf4j-1.7.2.jar
jul-to-slf4j-1.7.2.jar
log4j-over-slf4j-1.7.2.jar
slf4j-api-1.7.2.jar
slf4j-ext-1.7.2.jar
slf4j-jcl-1.7.2.jar
slf4j-jdk14-1.7.2.jar
slf4j-log4j12-1.7.2.jar
slf4j-migrator-1.7.2.jar
slf4j-nop-1.7.2.jar
slf4j-simple-1.7.2.jar

Beim googlen nach meiner Fehlermeldung bin ich immer wieder auf
Code:
api
und
Code:
simple
hingewiesen worden.
 
slf4j-api auf jeden Fall einbinden, dazu noch entweder slf4j-simple oder z.B. slf4-log4j.

Wenn du das eingebunden hast muss der Fehler definitiv weg sein.
Falls nicht poste mal den kompletten Stacktrace und sonstige Meldungen auf der Console.
 
slf4j-api auf jeden Fall einbinden, dazu noch entweder slf4j-simple oder z.B. slf4-log4j.

Wenn du das eingebunden hast muss der Fehler definitiv weg sein.
Falls nicht poste mal den kompletten Stacktrace und sonstige Meldungen auf der Console.

Ich habe alle Kombinationen durchgeführt:
api + simple + log4j
api + simple
apt + log4j

Und ich erhalte immer folgenden Stacktrace:

Code:
Exception in thread "main" java.lang.NoClassDefFoundError: org/slf4j/LoggerFactory
	at org.jcouchdb.db.Database.<clinit>(Database.java:56)
	at Sofa.main(Sofa.java:7)
Caused by: java.lang.ClassNotFoundException: org.slf4j.LoggerFactory
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.net.URLClassLoader$1.run(Unknown Source)
	at java.security.AccessController.doPrivileged(Native Method)
	at java.net.URLClassLoader.findClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	at java.lang.ClassLoader.loadClass(Unknown Source)
	... 2 more

Ich habe mein Projekt exportiert und als ZIP in meine Dropbox geladen. Unter dem folgenden LInk kann man es herunterladen: Sofa.zip

DIe .classpath Datei von Eclipse sieht so aus (hier mit der letzten Variante api + log4j):
Code:
<?xml version="1.0" encoding="UTF-8"?>
<classpath>
	<classpathentry kind="src" path="src"/>
	<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/JavaSE-1.7"/>
	<classpathentry kind="lib" path="/home/konze/jcouchdb-dep/commons-beanutils-1.8.0.jar"/>
	<classpathentry kind="lib" path="/home/konze/jcouchdb-dep/commons-codec-1.3.jar"/>
	<classpathentry kind="lib" path="/home/konze/jcouchdb-dep/commons-httpclient-3.1.jar"/>
	<classpathentry kind="lib" path="/home/konze/jcouchdb-dep/commons-io-1.3.1.jar"/>
	<classpathentry kind="lib" path="/home/konze/jcouchdb-dep/commons-logging-1.1.1.jar"/>
	<classpathentry kind="lib" path="/home/konze/jcouchdb-dep/easymock-2.3.jar"/>
	<classpathentry kind="lib" path="/home/konze/jcouchdb-dep/hamcrest-all-1.1.jar"/>
	<classpathentry kind="lib" path="/home/konze/jcouchdb-dep/junit-4.5.jar"/>
	<classpathentry kind="lib" path="/home/konze/jcouchdb-dep/log4j-1.2.14.jar"/>
	<classpathentry kind="lib" path="/home/konze/jcouchdb-dep/svenson-1.3.8.jar"/>
	<classpathentry kind="lib" path="/home/konze/jcouchdb-dep/jcouchdb-1.0.1-1.jar"/>
	<classpathentry kind="lib" path="/home/konze/jcouchdb-dep/slf4j-api-1.7.2.jar"/>
	<classpathentry kind="lib" path="/home/konze/jcouchdb-dep/slf4j-log4j12-1.7.2.jar"/>
	<classpathentry kind="output" path="bin"/>
</classpath>
 
Nö ich meinte den TE...bei dir funktioniert es ja 🙂

Aber ganz pauschal:

- Projekt in Eclipse importieren/erzeugen
- Libraries zum BuildPath hinzufügen
- Run As
- fertig
 

Zurück
Oben