Ich habe versucht, für ein paar Stunden daran zu arbeiten und konnte es immer noch nicht richtig, also dachte ich, ich würde fragen. Ich versuche Log4j zu verwenden, um Programmanweisungen in eine Ausgabedatei zu schreiben, und dies funktioniert auf meinem lokalen Rechner einwandfrei.Quellordner in Runnable Jar Disappearing
Ich habe derzeit meine log4j.properties-Datei in einem Ordner namens Protokollierung. Es ist als Quellordner markiert. Wenn ich meine ausführbare JAR-Datei über Eclipse erzeuge, platziere ich sie auf einem anderen Server und es wird angezeigt, dass die Datei log4j.properties nicht gefunden werden kann. Ich habe bisher ein paar verschiedene Dinge ausprobiert und nichts funktioniert. Alles, was ich tun möchte, ist sicherzustellen, dass die Datei log4j.properties in der ausführbaren JAR enthalten ist. Mein Setup ist jetzt das Folgende.
In meinem Java-Programm habe ich den folgenden Code, der lokal arbeitet. Fehle ich einen grundlegenden Schritt während der JAR-Generierung in Eclipse? Scheint so, als sollte das einfach sein, aber es ist jetzt nicht richtig. Ich habe sogar das JAR nach der Erstellung in 7zip extrahiert und natürlich ist die Logging-Datei überhaupt nicht vorhanden. Es ist wie es komplett verschwunden ist aus irgendeinem Grund. Ich würde es sehr schätzen, wenn mir jemand helfen könnte, danke.
public static void main(String[] args)
{
FileInputStream fis = new FileInputStream("logging\\log4j.properties");
if(fis != null)
{
PropertyConfigurator.configure(fis);
}
logger.info("process started.");
}
UPDATE
Statt Input der Verwendung direkt geändert ich meinen Code nur die unten verwenden und es funktioniert jetzt, den Zugriff auf die log4j.properties durch die runnable JAR-Datei.
PropertyConfigurator.configure(Converter.class.getResourceAsStream("/logging/log4j.properties"));
logger.info("Conversion process started.");
Vielen Dank, diesen Kommentar und Forschung in anderen Bereichen führte zu meiner Antwort mit getresourcestream! – Tastybrownies
Aktualisiere meine Frage! – Tastybrownies