2013-10-25 6 views
12

Ich versuche, die JPDA für Tomcat7 in Ubuntu einzurichten.
Ich habe die apt-get-Methode zur Installation von Tomcat7 verwendet.
Beim Versuch, die Datei /usr/share/tomcat7/startup.sh mit den folgenden Zeilen zu bearbeiten, versuche ich, tomcat7 in den Debug-Modus zu booten und Remote-Debugging über Eclipse zu ermöglichen.Einrichten von JPDA für Tomcat7 in Ubuntu-Server

JPDA_TRANSPORT="dt_socket" 
JPDA_ADDRESS="8000" 
exec "$PRGDIR"/"$EXECUTABLE" jpda start "[email protected]" 

Nach dem Editieren der Datei startup.sh, ich neu starten tomcat7 mit:

sudo service tomcat7 restart 

Dann mit der IP-Adresse an der tomcat jpda in Eclipse versuchen, eine Verbindung und Port 8000. ich eine „Verbindung erhalten Refused "Fehler von Eclipse.

Ich habe versucht, tomcat7 mit dem Skript startup.sh anstelle der ausführbaren Dienstmethode manuell zu starten, da ich dachte, dass die startup.sh nicht aufgerufen wurde.

sudo ./startup.sh 

Dies scheiterte mit der folgenden Ausgabe:

Using CATALINA_BASE: /usr/share/tomcat7 
Using CATALINA_HOME: /usr/share/tomcat7 
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp 
Using JRE_HOME:  /usr 
Using CLASSPATH:  /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar 
touch: cannot touch `/usr/share/tomcat7/logs/catalina.out': No such file or directory 
./catalina.sh: 389: ./catalina.sh: cannot create /usr/share/tomcat7/logs/catalina.out: Directory nonexistent 

Ich habe auch das Startskript bei /etc/init.d/tomcat7 zu ändern versucht, wie ich bin mit Service/Neustart beginnen tomcat7 zu

Was mache ich falsch?

Antwort

32

In Ubuntu 12.04+ gibt es einen Abschnitt, wie dies in /etc/default/tomcat7:

# To enable remote debugging uncomment the following line. 
# You will then be able to use a java debugger on port 8000. 
#JAVA_OPTS="${JAVA_OPTS} -Xdebug -Xrunjdwp:transport=dt_socket,address=8000,server=y,suspend=n" 

So ist es nur uncomment und sudo service tomcat7 restart läuft.

+1

Vielen Dank, die Websites, die ich besucht habe, schienen den Vorgang zu erschweren. – Ospho

+1

Hinweis: Der Debugger stoppt nicht an Ihren Breakpoints, es sei denn, Sie ändern "suspend = n" in "suspend = y". –

+1

@SteelNation Es stoppt auch an Breakpoints mit 'suspend = n ', solange ein Debugger angehängt ist. Mit 'suspend = y 'wartet die JVM, bis ein Debugger angeschlossen ist, um mit der Ausführung zu beginnen, während mit' n' die Ausführung sofort beginnt und Sie anschließend einen Debugger anhängen können. Die 'y'-Option ist hauptsächlich nützlich, wenn Sie den Startvorgang selbst debuggen möchten. Um reguläre Servlets zu debuggen, finde ich es praktischer, 'suspend = n' zu verwenden und bei Bedarf eine Verbindung zur laufenden Instanz herzustellen. –

0

Einstellungen in Tomcat erforderlich:

1) Erstellen setenv.sh Datei unter */tomcat/bin /. Die Position ist dieselbe wie die catalina.sh-Datei

2) Legen Sie den folgenden Inhalt hinein.

exportieren CATALINA_OPTS = "- agentlib: jdwp = Transport = dt_socket, Adresse = 8000, Server = y, Suspend = n" Starten Sie nun den Tomcat-Server. Sobald es gestartet ist, fahren Sie bitte mit den folgenden Schritten fort.

Einstellungen in Eclipse erforderlich:

3) in Eclipse auf Windows gehen -> Preference -> Allgemein -> Netzwerk-Verbindung -> sollte Aktive Provider direkt. Nach dem Wechsel zum direkten Neustart der Eclipse.

4) In der Eclipse mit der rechten Maustaste auf Projekt und Debug als -> Debug-Konfiguration -> Remote-Java-Anwendung -> Neue Konfiguration erstellen.

die unteren Felder ausfüllen

Name: als Ihr Wunsch

Projekt: Wählen Sie das Projekt, das Sie debuggen müssen.

Connection: Lokaler Host-Port:: Standard-Buchse

-Host anhängen 8000 (Es sollte gleich sein wie in Punkt 2) genannten

Dann Debug klicken.

Das Debug beginnt an Port 8000. Jetzt können Sie überprüfen, indem Sie Breakpoints beibehalten.

Verwandte Themen