2009-07-07 3 views
1

Ich führe ein Java-Programm aus einer JAR-Datei in Linux Redhat 4.3 und verwende Eclipse zum Erstellen der JAR-Datei aus meinem Projekt.java.util.Logger verhält sich anders, wenn es in verschiedenen Betriebssystemen gepackt ist

Wenn ich die JAR-Datei beim Ausführen von Eclipse in Linux erstellen, ist alles in Ordnung (normaler Logfile-Name und normales Textformat in der Logdatei).

Allerdings, wenn ich die jar beim Ausführen von eclispe unter WinXP erstellen (und es über FTP an meinen Linux-Server senden) ist der Name der Protokolldatei java0.log.0 und der Text darin ist in XML.

noch eine Sache - mein Programm verwendet SimpleFormatter als Formatierer für die Protokolldatei.

irgendwelche Ideen?

Antwort

0

java.util.logging.FileHandler wird standardmäßig als XML protokolliert. Ich frage mich also, ob Sie den Pfad zu Ihrer Protokollierungskonfiguration nicht korrekt angeben. So funktioniert es unter Linux, aber nicht unter Windows.

0

Wie erstellen Sie die Jar-Datei "in Eclipse"? Verwenden Sie Eclipse Export -> Java -> JAR-Datei? Oder führst du ein ANT- oder Maven-Skript durch Eclipse?

Wenn Sie nur direkt aus Eclipse exportieren, empfehle ich die Verwendung von ANT oder Maven, um einen wiederholbaren Build-Prozess zu erhalten, der nicht an die IDE gebunden ist.

Wenn Sie von ANT oder Maven erstellen, würde ich nach einer lokalen Konfiguration suchen, die etwas mit dem Anmelden des Buildskripts zu tun hat.

Es kann auch sein, dass ein plattformspezifischer Pfad in die Anwendung oder das Build-Skript eingebettet ist und Ihre log4j-Eigenschaftendatei nicht gefunden wird. Daher wird log4j nur mit den Standardwerten ausgeführt. Ich bin mir jedoch nicht sicher, ob die XML-Formatierung und das von Ihnen angegebene Format für die Protokolldatei der Standard ist.

+0

Eclipse bietet eine Option zum Erstellen einer Ant-Datei build.xml, die Sie nach der ersten JAR-Erstellung verwenden können. – Owen

0

Ihr Computer könnte verschiedene JAVA-Compiler-Versionen verwenden - vielleicht gibt es zwischen den Versionen ein anderes Standardverhalten.

Verwandte Themen