it-swarm.com.de

Kater in der Idee. Krieg explodiert: Server ist nicht verbunden. Bereitstellen ist nicht verfügbar

Ich versuche das tutoial . Ich habe ein neues Projekt erstellt und es gestartet. Tomcat fing an, aber dann passierte nichts. Ich kann manuell im Browser http://localhost:8080 öffnen und die Tomcat-Homepage anzeigen. Dies bedeutet, dass der Server gestartet werden kann. Ich kann index.jsp jedoch nicht öffnen. Hier ist mein Bildschirm nach dem Start: Screenshot Wie Sie sehen, läuft das Projekt, aber keine Informationen über übergebene Umgebungsvariablen. Keine Protokolle.

Ich benutze Tomcat 7.0.27

Idee 12.1.6

unter Opensuse 12.2

Mein Tomcat HOME-Ordner ist /usr/share/Tomcat

Es gab ein Problem: Idea konnte keine conf-Dateien aus/usr/share/Tomcat/conf nach /home/loco/.IntelliJIdea12/system/Tomcat//conf kopieren. Ich habe chmod 777 * in /usr/share/Tomcat and the problem gone. ausgeführt

Außerdem habe ich die Art und Weise geändert, wie Tomcat gestartet wird. Es war Standardwert

/usr/share/Tomcat/bin/catalina.sh run

Ich wechselte zu

/usr/share/Tomcat/bin/catalina.sh start

Alle anderen Schritte werden gemäß Tutorial ausgeführt.

46
PaintedRed

Das Problem tritt auf, wenn ein Skript im Tomcat-Startsatz von Skripts (meistens setenv.sh/setenv.bat) die Umgebungsvariable Java_OPTS überschreibt, ohne den ursprünglichen Wert einzuschließen. IDEA legt Java_OPTS fest, um Tomcat mitzuteilen, dass 1099 auf JMX-Anforderungen auf Statusinformationen und Bereitstellungen überprüft wird.

Ein Beispiel für eine Zeile aus einem setenv.sh, die unterbrochen wird:

export Java_OPTS="-XX:MaxPermSize=512m -Xmx1024m"

die korrigierte Version:

export Java_OPTS="$Java_OPTS -XX:MaxPermSize=512m -Xmx1024m"

Dieselbe Beispielzeile aus einer Windows-setenv.bat-Datei:

set Java_OPTS=-XX:MaxPermSize=512m -Xmx1024m

und korrigiert:

set Java_OPTS=%Java_OPTS% -XX:MaxPermSize=512m -Xmx1024m

Wenn Sie Tomcat nur innerhalb von IDEA ausführen, können Sie wie von anderen vorgeschlagen vorgeschlagen, die Zeile aus Ihrem setenv-Skript entfernen und die jvm-Optionen in die Ausführungskonfiguration von IDEA einfügen.

61
codelark

Ich habe das Problem behoben, indem ich meine setenv.bat in $ CATALINA_HOME/bin entfernt habe. Hier waren die Einstellungen drin:

set Java_OPTS=-server -Xmx768m -XX:MaxPermSize=256M

Ich habe diese Optionen nicht mehr benötigt, also habe ich die Datei einfach entfernt. Wie die Antwort von prule sagt, können Sie diese Optionen in die Intellij Run-Konfiguration verschieben. Nach dem Entfernen der Datei funktionierte die Bereitstellung in IntelliJ einwandfrei.

edit: Um eine bessere Antwort zu erhalten, warum dies funktioniert, überprüfen Sie die Antwort unter codelark unten . Außerdem können Sie mit seiner Methode Ihre setenv.sh/setenv.bat -Dateien behalten, was nützlich ist, wenn Sie Ihren Tomcat nicht nur von IntelliJ IDEA aus ausführen.

28

Das Entfernen von setenv.sh aus $CATALINA_HOME/bin hat auch für mich funktioniert. Ich verwende Tomcat7/Ubuntu/IntelliJ 12

Mit setenv.sh im bin-Ordner sehe ich beim Starten von IJ in den Protokollen: 

/usr/local/Tomcat/Apache-Tomcat-7.0.52/bin/catalina.sh run
[2014-07-28 02:41:39,274] Artifact TomcatDebug:war exploded: Server is not connected. Press 'Deploy' to start deployment.
Jul 28, 2014 2:41:40 PM org.Apache.catalina.core.AprLifecycleListener init

[email protected]:/usr/local/Tomcat/Apache-Tomcat-7.0.52$ Sudo netstat -tulpn|grep 2928
tcp6       0      0 :::8080                 :::*                    LISTEN      2928/Java       
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      2928/Java       
tcp6       0      0 :::8009                 :::*                    LISTEN      2928/Java  

Nach dem Entfernen sehe ich in den Protokollen: INFO: Serverstart in 76 ms Verbindung zum Server [2014-07-28 02: 44: 35,847] Artefakt TomcatDebug: Krieg explodiert: Artefakt wird eingesetzt, bitte warten ... [2014-07-28 02: 44: 36,512] Artefakt TomcatDebug: Krieg explodiert: Artefakt wurde erfolgreich eingesetzt 

[email protected]:/usr/local/Tomcat/Apache-Tomcat-7.0.52$ Sudo netstat -tulpn|grep 2346
tcp6       0      0 :::8080                 :::*                    LISTEN      2346/Java       
tcp6       0      0 :::50044                :::*                    LISTEN      2346/Java       
tcp6       0      0 127.0.0.1:8005          :::*                    LISTEN      2346/Java       
tcp6       0      0 :::8009                 :::*                    LISTEN      2346/Java       
tcp6       0      0 :::1099                 :::*                    LISTEN      2346/Java       
tcp6       0      0 :::52268                :::*                    LISTEN      2346/Java 

Scheint so, als hätte der setenv.sh$Java_OPTS überschrieben und die JNDI auf Port 1099 gestört.

5
user2262727
file->project structure->Project SDK

konfigurieren Sie dann das SDK neu.

Das hat mein Problem wirklich gelöst.

4
user5091911

Ich verstehe nicht viel über die Theorie davon, aber ich habe den gleichen Fehler erhalten. Nach etwas warten erhielt ich eine Nachricht:

Fehler bei der Artefaktbereitstellung. Weitere Informationen finden Sie im Serverprotokoll.

Ich fand die Protokolldatei, die vermutlich "Tomcat localhost.log" bedeutet, und es gab dort eine Stack-Ablaufverfolgung für "NoClassDefFoundError" und "ClassNotFoundException". Ich habe eine Aktualisierung von Maven und ein "Rebuild-Projekt" durchgeführt, und das hat den Trick gebracht.

2
Tim Cooper

(3.2) JRE_HOME oder Java_HOME setzen (erforderlich)

Diese Variablen werden verwendet, um den Speicherort einer Java-Laufzeitumgebung oder eines Java Development Kit anzugeben, das zum Starten von Tomcat verwendet wird.

Die JRE_HOME-Variable wird verwendet, um den Speicherort einer JRE anzugeben. Die Java_HOME-Variable wird verwendet, um den Speicherort eines JDK anzugeben.

Die Verwendung von Java_HOME ermöglicht den Zugriff auf bestimmte zusätzliche Startoptionen, die bei Verwendung von JRE_HOME nicht zulässig sind.

Wenn sowohl JRE_HOME als auch Java_HOME angegeben sind, wird JRE_HOME verwendet.

Ich hatte dieses Problem mit Tomcat 7.0.27 . Ich habe ein Upgrade auf Tomcat 8.0.21 durchgeführt und das Problem behoben. :)

0
Pleymor

Wechseln Sie zu Tomcat BIN DIRECTORYRun mit dem Befehl Fordern Sie den folgenden Befehl an

cd Tomcat-9991\bin

catalina.bat run

die Ausgabe, die ich bekam, war 

Exception in thread "main" Java.lang.UnsupportedClassVersionError: org/Apache/catalina/startup/Bootstrap : Unsupported major.minor version 52.0
        at Java.lang.ClassLoader.defineClass1(Native Method)
        at Java.lang.ClassLoader.defineClass(ClassLoader.Java:800)
        at Java.security.SecureClassLoader.defineClass(SecureClassLoader.Java:142)
        at Java.net.URLClassLoader.defineClass(URLClassLoader.Java:449)
        at Java.net.URLClassLoader.access$100(URLClassLoader.Java:71)
        at Java.net.URLClassLoader$1.run(URLClassLoader.Java:361)
        at Java.net.URLClassLoader$1.run(URLClassLoader.Java:355)
        at Java.security.AccessController.doPrivileged(Native Method)
        at Java.net.URLClassLoader.findClass(URLClassLoader.Java:354)
        at Java.lang.ClassLoader.loadClass(ClassLoader.Java:425)
        at Sun.misc.Launcher$AppClassLoader.loadClass(Launcher.Java:308)
        at Java.lang.ClassLoader.loadClass(ClassLoader.Java:358)
        at Sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.Java:482)

Als Hinweis darauf, dass ein Problem mit der Java-Version zwischen meinem Tomcat und dem JDK aufgetreten ist, habe ich dies ebenfalls festgelegt. 

Ich könnte das Problem beheben, indem ich mich auf die korrekte Version von JDK beziehe.

0
Amjad

Eine einfache Möglichkeit besteht darin, die Portnummer in dieser Datei zu ändern:

-Dcom.Sun.management.jmxremote.port=1099

beachten Sie den Port, der Standardwert ist 1099, aber wenn Sie JMX verwenden, kann es von Ihnen oder jemandem geändert werden. Ändern Sie einfach den Port. Das wird in Ordnung sein. Sie müssen ihn nicht aus dem Bin-Ordner von Tomcat entfernen.

0
gangdaner

Wenn Sie die /etc/hosts-Datei geändert haben, müssen Sie eine Zeile localhost YOU_USER_NAME hinzufügen. 

0
ZunPiau

Dieses Problem tritt auf, wenn ich versuche, ein Projekt von Eclipse nach IDEA zu importieren.

Es gibt keinen setter.sh in $CATALINA_HOME/bin. Die Einstellung Project Structure und Run Configuration in IDEA sieht in Ordnung aus. Das gesamte Projekt funktioniert normalerweise in Eclipse, zeigt diesen Fehler jedoch in IDEA.

Meine Lösung ist, den Ordner .idea zu löschen, das gesamte Projekt erneut zu importieren. Ich weiß nicht, was die genaue Ursache für dieses Problem ist, aber es funktioniert für mich.

Jetzt sieht das Protokoll so aus:

/Library/Tomcat/bin/catalina.sh run

[2015-09-22 12:40:57,906] Artifact bookstore:war exploded: Server is not connected. Deploy is not available.
XXXXXX
Connected to server
[2015-09-22 12:40:58,848] Artifact bookstore:war exploded: Artifact is being deployed, please wait...
XXXXXX
[2015-09-22 12:41:07,862] Artifact bookstore:war exploded: Artifact is deployed successfully
[2015-09-22 12:41:07,863] Artifact bookstore:war exploded: Deploy took 9,015 milliseconds
0
Hunger

Ein weiterer Grund, wenn Ihr Tomcat-Pfad leer oder '(') ist, tritt dieser Fehler ebenfalls auf.

0
cnsuifeng

Ich hatte dieses Problem, als ich Java_OPTS in catalina.bat gesetzt hatte. Wenn Sie dies entfernen, bedeutet dies, dass Tomcat wie erwartet gestartet und bereitgestellt wurde. Die Java_OPTS-Werte können in der Intellij Run-Konfiguration festgelegt werden.

0
prule