log4j "installieren"

Wang

Bekanntes Mitglied
Hallo,

ich wollte erstmals log4j benutzen, aber wenn ich den folgenden Code compilieren möchte, geht das nicht:

Java:
import org.apache.log4j.Logger;
import org.apache.log4j.BasicConfigurator;

public class Hello
{
	private static final Logger logger = Logger.getLogger(Hello.class);
	
	public static void main(String argv[])
	{
		BasicConfigurator.configure();
		logger.debug("Hello world.");
		logger.info("What a beatiful day.");
	}
}

Die Fehlermeldung:

Hello.java:1: package org.apache.log4j does not exist
import org.apache.log4j.Logger;
^
Hello.java:2: package org.apache.log4j does not exist
import org.apache.log4j.BasicConfigurator;
^
Hello.java:6: cannot find symbol
symbol : class Logger
location: class Hello
private static final Logger logger = Logger.getLogger(Hello.class);
^
Hello.java:6: cannot find symbol
symbol : variable Logger
location: class Hello
private static final Logger logger = Logger.getLogger(Hello.class);
^
Hello.java:10: cannot find symbol
symbol : variable BasicConfigurator
location: class Hello
BasicConfigurator.configure();
^
5 errors


Ich verwende Windows 7 und ich glaube es liegt daran, dass das mit der Umgebungsvariable nicht geklappt hat. Unter PATH hab ich dort an das Ende der Zeile "C:\Users\Mustermann\Desktop\apache-log4j-1.2.16" (ohne "") eingefügt, gespeichert und neugestartet.

Weiß vielleicht jemand, wie sich das Problem lösen lässt?

Thanks!

Gruß
Wang
 

Wang

Bekanntes Mitglied
Aus der PATH-Variable kann das weg. Das ist eine andere geschichte. "classpath" ist das Stichwort was du brauchst.


Heißt das unter Umgebungsvariablen -> Systemvariablen eine neue Variable "CLASSPATH" erstellen und dann den Wert "C:\Users\Mustermann\Desktop\apache-log4j-1.2.16" (ohne "") eintragen?

Falls nicht, dann stehe ich gerade total auf dem Schlauch...
 

Wang

Bekanntes Mitglied
Ne, du musst schon die jar's angeben und nicht einfach das Verzeichnis. Entweder über classpath-Variable oder über sourcepath Parameter von javac

Okay, ich habe jetzt eine Systemvariable "CLASSPATH" erstellt und dort als Wert "C:\Users\Mustermann\Desktop\apache-log4j-1.2.16\log4j-1.2.16.jar" gespeichert.
Der Code lässt sich jetzt immerhin kompilieren, dafür lässt sich das Programm nicht starten:

Exception in thread "main" java.lang.NoClassDefFoundError: Hello
Caused by: java.lang.ClassNotFoundException: Hello
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 sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
Could not find the main class: Hello. Program will exit.

Ich tappe echt im Dunkeln und weiß nicht wie das obige Problem entsteht!
Für die JDK genügt ein Eintrag in PATH, für log4j muss ein CLASSPATH her. Für eine Erklärung in einfachen Worten wäre ich sehr dankbar.
 

Wang

Bekanntes Mitglied
Sag was du alles machst mit genauen Angaben.

Im Ordner von log4j ist ein Datei namens "INSTALL", welche ein kleines Beispielprogramm enthält, um zu testen, ob die Installation geklappt hat:

Java:
import org.apache.log4j.Logger;
import org.apache.log4j.BasicConfigurator;
 
public class Hello
{
    private static final Logger logger = Logger.getLogger(Hello.class);
    
    public static void main(String argv[])
    {
        BasicConfigurator.configure();
        logger.debug("Hello world.");
        logger.info("What a beatiful day.");
    }
}

Momentaner Stand:
Ich habe in Windows 7 unter Umgebungsvariablen -> Systemvariablen eine Variable CLASSPATH erstellt und sie mit dem Wert "C:\Users\Mustermann\Desktop\apache-log4j-1.2.16\log4j-1.2.16.jar" (ohne "") versehen, also nur unter CLASSPATH und nicht unter PATH.
Immerhin klappt jetzt das Kompilieren (vorher, als ich unter PATH "C:\Users\Mustermann\Desktop\apache-log4j-1.2.16\" stehen hatte, ging selbst das nicht), aber die .class-Datei lässt sich mit
Code:
java Hello
eben nicht starten.

Ich durchschaue leider nicht, woran das liegt und überhaupt, warum der Eintrag in CLASSPATH im Gegensatz zum gleichen Eintrag in PATH dazu führt, dass der Code kompiliert. ???:L
 

Wang

Bekanntes Mitglied
Ich habe jetzt endlich die Ursache dafür gefunden (und verschweige besser, wie lange ich hier davor saß :oops: ). CLASSPATH als Systemvariable war richtig, allerdings muss der Wert
Code:
.;C:\Users\Mustermann\Desktop\apache-log4j-1.2.16\log4j-1.2.16.jar
und NICHT
Code:
C:\Users\Mustermann\Desktop\apache-log4j-1.2.16\log4j-1.2.16.jar
heißen. Mit anderen Worten: dadurch, dass
Code:
.;
gefehlt hat, wurde das aktuelle Verzeichnis außer Acht gelassen...
Das war auf jeden Fall mal eine ordentliche Lektion für mich.

Frage an die Profis:
Warum hat es nicht geklappt (ohne irgendwelche Umgebungsvariablen gesetzt zu haben), als ich die .jar-Datei von log4j in das Verzeichnis
Code:
C:\Program Files\Java\jdk1.6.0_18\lib\
und auch in das Verzeichnis
Code:
C:\Program Files\Java\jdk1.6.0_18\jre\lib
kopiert hatte, denn schließlich sollte doch der Compiler/Interpreter darauf immer automatisch zugreifen ???:L
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
K log4j nach log4j2 überführen Java Basics - Anfänger-Themen 0
M Log4J (v2) nachträglich in allen Klassen hinzufügen Java Basics - Anfänger-Themen 9
MiMa log4j als separate Dateien in Schleife? Java Basics - Anfänger-Themen 6
L Erste Schritte Log4J Fragen Java Basics - Anfänger-Themen 5
B Log4J Pfad des Logfiles definieren Java Basics - Anfänger-Themen 6
Tom299 Log4j in jeder Klasse definieren? Java Basics - Anfänger-Themen 12
O Wie Log4J - Ausgaben/Events auffangen?! Java Basics - Anfänger-Themen 3
S log4j in externer Library Java Basics - Anfänger-Themen 4
M xml log4j überschreiben für/in Java Klassen Java Basics - Anfänger-Themen 4
N wie *.class-Dateien mit log4j loggen? Java Basics - Anfänger-Themen 9
F Log4j - log4j:WARN No appenders could be found for logger Java Basics - Anfänger-Themen 1
0 Log4J Probleme beim einlesen der Log datei Java Basics - Anfänger-Themen 2
0 Log4J Instanz erzeugen Java Basics - Anfänger-Themen 2
M Input/Output log4j mit properties datei Java Basics - Anfänger-Themen 6
T LOG4J Konfiguration Java Basics - Anfänger-Themen 5
F ThreadId in Log4j Java Basics - Anfänger-Themen 4
M log4j Java Basics - Anfänger-Themen 11
H Log4J und Angabe eines Ordners Java Basics - Anfänger-Themen 5
A log4j - wie kann ich im Quellcode initialisieren statt in der properties-Datei? Java Basics - Anfänger-Themen 2
A log4j - Warum wird Methode getHeader 2x ausgeführt? Java Basics - Anfänger-Themen 2
S log4j pfad per umgebungsvariable setzen? Java Basics - Anfänger-Themen 2
G Probleme mit log4j Java Basics - Anfänger-Themen 2
M log4j design Java Basics - Anfänger-Themen 11
G log4j Java Basics - Anfänger-Themen 4
S LineNumberReader - bessere Lösung möglich? - Log4J Java Basics - Anfänger-Themen 9
G Kompletten Stacktrace mit Log4j ausgeben Java Basics - Anfänger-Themen 3
M logging mit log4j Java Basics - Anfänger-Themen 4
M log4j frage zu whitespaces Java Basics - Anfänger-Themen 2
G log4j Java Basics - Anfänger-Themen 3
H Log4J Pfad setzen Java Basics - Anfänger-Themen 2
M log4j Unterverzeichnis mit Datum , Timestamp in LogDateiname Java Basics - Anfänger-Themen 2
G Log4j? Java Basics - Anfänger-Themen 15
G Log4j notwendig oder nicht? Java Basics - Anfänger-Themen 16
J Log4j + Junit Java Basics - Anfänger-Themen 4
M log4j XML Konfigurationsdatei Java Basics - Anfänger-Themen 2
M "System.out" "System.err" bzw. log4j Java Basics - Anfänger-Themen 9
K log4j Java Basics - Anfänger-Themen 2
R log4j - Datum an Logdatei anhängen möglich? Java Basics - Anfänger-Themen 7
S log4j "Richtiges" Design Java Basics - Anfänger-Themen 4
B Log4J Anfänger sucht hilfe! Java Basics - Anfänger-Themen 4
N Log4J Problem Java Basics - Anfänger-Themen 4
P Eclipse installieren Java Basics - Anfänger-Themen 5
brypa Eclipse installieren Java Basics - Anfänger-Themen 31
F Umgebungsvariable JRE und JDK installieren? Java Basics - Anfänger-Themen 7
D e(fx)clipse installieren funktioniert nicht Java Basics - Anfänger-Themen 3
J Welche Java-Version installieren Java Basics - Anfänger-Themen 9
F iText download/installieren Java Basics - Anfänger-Themen 22
J Mit OpenJDK entwickeln aber Oracle SE Runtime installieren? Java Basics - Anfänger-Themen 6
B Arquillian installieren - Maven, WildFly, MYSQL Java Basics - Anfänger-Themen 1
D JAVA JDK korrekt installieren javac wird nicht gefunden Java Basics - Anfänger-Themen 2
F Installieren von eclipse Java Basics - Anfänger-Themen 1
H WindowBuilder in oxygen installieren Java Basics - Anfänger-Themen 2
P Wie Java-Plugin in Firefox (nachträglich) installieren? Java Basics - Anfänger-Themen 2
M Javamail installieren Java Basics - Anfänger-Themen 2
D Software per ssh downloaden und installieren Java Basics - Anfänger-Themen 2
W JDK installieren JDK Installieren | Windows 8 | Hilfe Java Basics - Anfänger-Themen 8
L JDK installieren GUI-Bibliothek installieren Java Basics - Anfänger-Themen 4
P Wie Java-Plugin in Browser installieren OHNE volles Java ausserhalb? *.jnlp not startable Java Basics - Anfänger-Themen 1
E Java neu installieren Java Basics - Anfänger-Themen 3
G Java lässt sich nicht installieren Java Basics - Anfänger-Themen 1
M Java Media Framework installieren - Win 7 Java Basics - Anfänger-Themen 6
J Java JDK 6 oder JDK 7 installieren? Java Basics - Anfänger-Themen 5
D Java installieren Java Basics - Anfänger-Themen 3
A JDK installieren Java update - neu installieren? Java Basics - Anfänger-Themen 7
S IOTools installieren Java Basics - Anfänger-Themen 11
I JOGL installieren Java Basics - Anfänger-Themen 2
B Eclipse IDE installieren Java Basics - Anfänger-Themen 8
K kan 64Bit Version unter Win7Pro64 nicht installieren Java Basics - Anfänger-Themen 12
N Java installieren Java Basics - Anfänger-Themen 9
G jar unter MeeGo installieren Java Basics - Anfänger-Themen 3
X JDBC installieren Java Basics - Anfänger-Themen 2
M Look and Feel installieren Java Basics - Anfänger-Themen 3
A JDK/SDK installieren und einrichten Java Basics - Anfänger-Themen 23
C Netbeans will Plugin mangelns JDK nicht installieren ? Java Basics - Anfänger-Themen 2
P Java3D installieren Java Basics - Anfänger-Themen 4
L db2jcc-Treiber installieren Java Basics - Anfänger-Themen 4
M wie installieren?? Java Basics - Anfänger-Themen 28
B JDBC Treiber lokal installieren ? Java Basics - Anfänger-Themen 2
M mysql-connector-java-5.1.7-bin. jar in die umgebungsvariable installieren Java Basics - Anfänger-Themen 14
E Shockwave installieren lassen (!) Java Basics - Anfänger-Themen 8
K Apache Deby installieren? Java Basics - Anfänger-Themen 3
K Problem beim installieren des JDK 1.6+ version Java Basics - Anfänger-Themen 3
C Programm auf dem Handy installieren Java Basics - Anfänger-Themen 7
E Java installieren (Tutorials gehen nicht). unter Win Vista Java Basics - Anfänger-Themen 24
P Java - Installieren! Java Basics - Anfänger-Themen 3
A Bibliotheken installieren Java Basics - Anfänger-Themen 3
R Velocity Plugin installieren Java Basics - Anfänger-Themen 6
A JDK 6.0 in eclipse 3.1.2 installieren. Java Basics - Anfänger-Themen 6
S Woher Packages bekommen? Wie installieren? (Netbeans) Java Basics - Anfänger-Themen 4
J Java JDK 6 - wie zu installieren? Java Basics - Anfänger-Themen 99
K JSP Umgebung installieren Java Basics - Anfänger-Themen 2
P mp3-PlugIn installieren Java Basics - Anfänger-Themen 2
J j2sdk unter Linux installieren Java Basics - Anfänger-Themen 37
K Java installieren - WLAN Router Java Basics - Anfänger-Themen 3
C Problem beim installieren des Java SDK Java Basics - Anfänger-Themen 5
S jdk installieren Java Basics - Anfänger-Themen 6
M kann java nicht installieren, bitte helft mir! Java Basics - Anfänger-Themen 4
E Installieren, hat nicht geklappt. Java Basics - Anfänger-Themen 4
P JavaMail API installieren Java Basics - Anfänger-Themen 4
T JLayer installieren Java Basics - Anfänger-Themen 2

Ähnliche Java Themen

Neue Themen


Oben