Java, Apache und Maven

Helios co.

Lt. Commander
Registriert
März 2005
Beiträge
1.863
Hallo @all,

ich arbeite an einem größeren Projekt, bei dem die im Titel genannten Techniken zum Einsatz kommen.

Ich nutze als IDE Eclipse. In der Regle habe ich Projkte debugged, in dem ich System.out Befehle auf die Konsole durchgeführt habe.

Durch die Verwendung von Apache habe ich nur noch eine .war Datei die deployed wird. Zu allen möglichen Fehlern werden Logs erstellt die ich auch betrachten kann.

Die Frage ist nur: Wie kann ich hier Debugging betreiben?

Sorry falls es eine dumme Frage ist, dennoch wäre ich für qualifizierte Antworten dankbar!
 
Wie wird denn deine Java Webanwendung ausgeführt (Apache macht das wohl nicht)?

Ich entwickle mit NetBeans und Tomcat. Die Ausgabe von Tomcat wird unter NetBeans ins Standard Output Fenster umgeleitet. Ansonsten sieht man die Ausgabe unter Ttomcat in der catalina.out Log Datei.
 
Benutze ein Logging-Framework - etwa log4j oder slf4j - und protokolliere alle fürs Debugging eventuell relevanten Daten und Ereignisse. Das sollte ohnehin jedes Projekt machen, da es insbesondere im laufenden Betrieb unheimlich wertvoll bei der Fehlersuche sein kann.
 
Wie wird denn deine Java Webanwendung ausgeführt (Apache macht das wohl nicht)?

Wenn du eine .war Datei deployst dann führst du nichgts mehr manuell aus.Ich brauche lediglich den Tomcat zu starten. Bei Änderungen am Code übernimmt Maven den Buildprozess für mich. D.h. es ist tatsächlich so,dass ich in der Eclipse Konsolelediglich Mavenspezifische Ausgaben sehe.

Ansonsten sieht man die Ausgabe unter Ttomcat in der catalina.out Log Datei.
Verstehe ich dich richtig: In der catalina.out stehen System.out.println Ausgaben aufgerufener Methoden? Das war nämlich meine größte Hoffnung. Ich hatte veruscht das auszuprobieren,leidernoch ergebnislos. Vielleicht lag es dann an mir!


kenn mich mit eclipse aus...aber ich kenne folgendes:

Die normale Debuggingfunktionalität von Eclipse bringt mir in diesem Fall leider wenig. Das System ist zu komplex als das ich mal einfach so von der main aus starten kann und bestimmte Funktionalitäten testen. Dazu müsste ich Testcode generieren, was ich nicht will und wozu ich auch einfach keine Zeit habe.

Benutze ein Logging-Framework
log4j wird bei dem System sogar verwendet. Wie kann ich dabei die normale Systemausgabe in eine Datei umleiten?
Ich glaube nicht, dass sie standardmäßig protokolliert wird?




Vielen dank schon mal für eure Antworten!
 
Zuletzt bearbeitet:
Was du suchst ist die Möglichkeit zum Remote-Debugging:
http://confluence.sakaiproject.org/display/BOOT/Debugging+Tomcat+Remotely+Using+Eclipse
bzw.
http://confluence.sakaiproject.org/display/BOOT/Setting+Up+Tomcat+For+Remote+Debugging

Prinzipiell musst du nur eine catalina.bat (nagel mich nicht auf den namen fest, ist schon länger her) in ein oder zwei Argumenten anpassen (du brauchst als Startparameter JPDA wenn mich nicht alles täuscht, und das musst du in der config setzen). Was du genau tun musst steht in der Anleitung.
Da du den Apache nutzt, in Verbindung mit Java geh ich davon aus dass du Tomcat meinst. Tomcat bietet von Hause aus die Möglichkeit zum Remote Debugging, ist nur per default disabled.
In Eclipse ists dann recht easy: Sourcen einbinden, Reiter "Debug" -> "Debug Configurations" -> "RemoteDebugging"... Dort trägst du dann irgendwo die URL ein. Standardmäßig ist localhost:8080 vergeben bzw. wird genutzt.

Nicht vergessen nen Breakpoint zu setzen :)
 
Zuletzt bearbeitet:
Zurück
Oben