Подтвердить что ты не робот

Томкат в Идеи. война взорвалась: сервер не подключен. Развертывание недоступно

Я пробую эту туторию. Я создал новый проект и запустил его. TomCat начал, но потом ничего не произошло. Я могу открыть вручную в браузере http://localhost:8080 и посмотреть домашнюю страницу TomCat. Это означает, что сервер можно запустить. Однако я не могу открыть index.jsp. Вот мой экран после запуска: скриншот Как видите, проект запущен, но нет информации о переданных переменных окружения. Нет журналов.

Я использую TomCat 7.0.27

Идея 12.1.6

на Opensuse 12.2

Моя домашняя папка tomcat /usr/share/tomcat

Возникла проблема: Идея не могла скопировать файлы conf из /usr/share/tomcat/conf в/home/loco/.IntelliJIdea12/system/tomcat//conf. Я выполнил chmod 777 * в /usr/share/tomcat and the problem gone.

Также я изменил способ запуска TomCat. Это значение по умолчанию

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

Я изменился на

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

Все остальные шаги выполняются в соответствии с учебным пособием.

4b9b3361

Ответ 1

Проблема возникает, когда script в наборе сценариев запуска tomcat (чаще всего setenv.sh/setenv.bat) переопределяет переменную среды JAVA_OPTS, не включая исходное значение. IDEA устанавливает JAVA_OPTS, чтобы сообщить tomcat прослушивать 1099 для запросов JMX для таких вещей, как статус и развертывания.

Пример строки из setenv.sh, которая сломается:

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

исправленная версия:

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

Аналогичные строки строк из файла windows setenv.bat:

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

и исправлено:

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

Если вы только запускаете tomcat из IDEA, вы можете сделать так, как предложили другие, и удалить строку из вашего setenv script и поместить параметры jvm в конфигурацию запуска IDEA.

Ответ 2

Я исправил это, удалив мой setenv.bat в $CATALINA_HOME/bin. Здесь были настройки внутри:

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

Мне больше не нужны эти параметры, поэтому я просто удалил файл. Как сказано в ответе prule, вы можете переместить эти параметры в конфигурацию Intellij Run. После удаления файла развертывание отлично работало внутри IntelliJ.

edit: для лучшего ответа о том, почему это работает, ознакомьтесь с нижеприведенным ответом ниже. Кроме того, используя свой метод, вы можете сохранить свой setenv.sh/setenv.bat, что полезно, если вы не только запускаете Tomcat из IntelliJ IDEA.

Ответ 3

Удаление setenv.sh из $CATALINA_HOME/bin также сработало для меня. Я запускаю tomcat7/Ubuntu/IntelliJ 12

С setenv.sh в папке bin, при запуске внутри IJ я вижу в журналах:

/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  

После удаления в журналах я вижу:   INFO: запуск сервера в 76 мс   Подключено к серверу   [2014-07-28 02: 44: 35,847] Artifact TomcatDebug: война взорвалась: артефакт развернут, подождите...   [2014-07-28 02: 44: 36,512] Артефакт TomcatDebug: война взорвалась: артефакт успешно развернут

[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 

Кажется, что setenv.sh переопределял $JAVA_OPTS, мешая JNDI, запущенному на порту 1099.

Ответ 4

Я не очень разбираюсь в теории этого, но у меня такая же ошибка. Немного дождавшись, я получил сообщение:

Ошибка при развертывании артефакта. Подробнее см. В журнале сервера.

Я нашел файл журнала, который предположительно имел в виду: "Tomcat localhost.log", и там была трассировка стека для "NoClassDefFoundError" и "ClassNotFoundException". Я сделал обновление Maven и "Проект перестроения", и это сделало трюк.

Ответ 5

file->project structure->Project SDK

затем переконфигурируйте SDK.

Это действительно решило мою проблему.

Ответ 6

(3.2) Установите JRE_HOME или JAVA_HOME (обязательно)

Эти переменные используются для указания местоположения Java Runtime Environment или набора Java Development Kit, который используется для запуска Tomcat.

Переменная JRE_HOME используется для указания местоположения JRE. Переменная JAVA_HOME используется для указания местоположения JDK.

Использование JAVA_HOME предоставляет доступ к некоторым дополнительным параметрам запуска, которые не разрешены при использовании JRE_HOME.

Если указаны JRE_HOME и JAVA_HOME, используется JRE_HOME.

Ответ 7

У меня была эта проблема, когда я установил JAVA_OPTS в catalina.bat. Удаление этого означало, что tomcat запускался и развертывался, как ожидалось. Значения JAVA_OPTS могут быть установлены в конфигурации Intellij Run.

Ответ 8

У меня была эта проблема с Tomcat 7.0.27. Я обновился до Tomcat 8.0.21, и он исправил мою проблему:)

Ответ 9

Я встречаю эту проблему, когда пытаюсь импортировать проект из eclipse в IDEA.

В $CATALINA_HOME/bin нет setter.sh. Настройки Project Structure и Run Configuration в IDEA выглядят нормально, весь проект работает нормально в eclipse, но показывает эту ошибку в IDEA.

Мое решение: удалить папку .idea, повторно импортировать весь проект. Я не знаю, какая точная причина этой проблемы, но работает для меня.

Теперь журнал выглядит следующим образом:

/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

Ответ 10

Простым способом является изменение номера порта в этом файле:

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

Обратите внимание на порт, по умолчанию 1099, но при использовании JMX он может быть изменен вами или кем-то, поэтому просто измените порт, это будет нормально, нет необходимости удалять его из папки bin файла tomcat.

Ответ 11

Еще одна причина, если ваш путь tomcat содержит пробел или '(', эта ошибка также произойдет. Пожалуйста, переименуйте свой путь tomcat.

Ответ 12

Если вы изменили файл /etc/hosts, вам нужно добавить к нему строку localhost YOU_USER_NAME.