2012-12-29 9 views
10

RackSpace-Cloud-Server Ubuntu-12.04, Intellij Idee-11.1.2, Windows-8, Tomcat-7.0.26, JDK-6.Tomcat Intellij Idee: Remote-Bereitstellung

Auf IntelliJ IDEA, wenn ich versuche, es JSF-Projekt auf meinem Remote-Tomcat 7 Server auszuführen sagt:

Fehler Server ausgeführt wird: Es konnte keine Verbindung zum IP-Adresse: 1099

Es scheint, Problem ist über JNDI-Port, der 1099 ist, aber ich konnte es nicht aktivieren, denke ich. Tomcat-Konfiguration ist etw. wie folgt aus:

enter image description here

Was habe ich versucht habe?

Einstellung CATALINA_OPTS oder JAVA_OPTS auf der Server-Seite mit:

CATALINA_OPTS=-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=1099 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false 

und

JAVA_OPTS=-Dcom.sun.management.jmxremote 
-Dcom.sun.management.jmxremote.port=1099 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false 

Aber dieser hat nicht funktioniert, irgendwelche Ideen?

+0

Diese Parameter dienen zur Verbindung mit JConsole/VisualVM zu einer laufenden Anwendung. Wahrscheinlich werden die Prozentzeichen nicht benötigt? –

+0

nein hat nicht funktioniert –

+0

Alternativ; Ich habe geschlossen, um von Artefakt-Option zu bauen, es erfordert nicht JNDI-Port, aber jetzt muss ich Krieg explodieren oder Kriegs-Datei in meinem Remote-Server, aber die Frage ist, wo soll ich setzen? –

Antwort

14

Meine Antwort auf meine Frage:

Die richtige Art und Weise der Ferne zu implementieren ist die Bearbeitung JAVA_OPTS Umgebungsvariable auf dem Remote-Server. Geben Sie den folgenden Befehl ein:

export JAVA_OPTS="-Dcom.sun.management.jmxremote= 
-Dcom.sun.management.jmxremote.port=1099 
-Dcom.sun.management.jmxremote.ssl=false 
-Dcom.sun.management.jmxremote.authenticate=false" 

Wenn das nicht zur Arbeit zu gehen ist, und wenn Sie keine Obsession auf Ihre Website über IntelliJ IDEA einsetzen, habe ich die Lösung für dieses Problem. Um Ihre Website unter Tomcat zu betreiben, können/sollten Sie Artefakte in Form einer .war Datei erhalten.

Es kann das Plus in IntelliJ von Projekteinstellungen (Strg + Alt + Shift + s) dann erfolgen Knopf drücken und neue Artefakt hinzufügen (Web: Anwendung archieve)

get war file in Intellij

das Artefakt nach dem Umbau , .war Datei kann in project-folder\out\artifacts gesehen werden. Als nächstes sollten Sie diese Datei in Ihren Ordner tomcat/webapps legen. Wenn Sie zum Beispiel Tomcat-7 verwenden, existiert der Ordner, den ich meine, in /var/lib/tomcat7/webapps. Bevor Sie Ihre .war file kopieren, sollten Sie sie als ROOT.war umbenennen. Dies ermöglicht den direkten Zugriff auf Ihre Website unter http://youripaddress:8080. Nach dem Neustart des Tomcat7-Dienstes können Sie auf die Site zugreifen.

Aber noch nicht fertig, Sie können Ihr Projekt remote debuggen, als würden Sie Ihr Projekt auf Ihrem lokalen Rechner mit Intellij Idea debuggen. Öffnen Sie Run/Debug Konfiguration in Idea, drücken Sie die Plus-Taste und es muss Remote sein. So können Sie Ihre Projekte für Anwendungsserver wie JBoss, Glassfish und Idea debuggen. Geben Sie Ihre Host- und Portnummern ein und wählen Sie Ihr Projekt als Modul aus.

Bevor zum Debuggen starten, wie IntelliJ sagt sollten Sie die folgenden Parameter auf dem Server JVM geben:

JAVA_OPTS="$JAVA_OPTS -Xdebug -Xrunjdwp:transport=dt_socket,server=y,suspend=n,address=5005" 

zu können, dass in Ubuntu tun und für Tomcat-7, modifizierte, um die Datei catalina.sh in usr/share/tomcat7 Ordner. Ich habe den Parameter oberhalb der if [ -z "$LOGGING_MANAGER" ]; then Zeile eingefügt. Es muss sich im mittleren Teil der Datei befinden. Dann sollten Sie in der Lage sein, Ihr Projekt mit Intellij Idea zu debuggen.

+1

Wenn Sie Tomcat in einer VM ausführen, benötigen Sie möglicherweise -Djava.rmi.server.hostname = 172.16.33.33 (ersetzen Sie IP durch die VM IP) – hannson

Verwandte Themen