Идея Tomcat Intellij: удаленное развертывание

RackSpace Cloud Server Ubuntu-12.04, Intellij Idea-11.1.2, Windows-8, Tomcat-7.0.26, JDK-6.

В Intellij Idea, когда я пытаюсь запустить проект jsf на моем удаленном сервере Tomcat 7, он говорит:

Ошибка при запуске servername: невозможно подключиться к ip-адресу: 1099

Кажется, проблема в том, что порт JNDI равен 1099, но я не могу его активировать. Конфигурация Tomcat - это sth. например:

enter image description here

Что я пробовал?

Настройка CATALINA_OPTS или JAVA_OPTS со стороны сервера:

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

и

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

Но это не сработало, никаких идей?

Ответ 1

Мой ответ на мой вопрос:

Правильный способ удаленного развертывания - редактирование переменной среды JAVA_OPTS на удаленном сервере. Просто введите следующую команду:

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"

Если это не сработает, и если у вас нет навязчивой идеи для развертывания вашего сайта с помощью Intellij Idea, у меня есть решение этой проблемы. Чтобы иметь возможность запускать свой сайт под Tomcat, вы можете/должны получить артефакт в виде файла .war.

Это можно сделать в Intellij из настроек проекта (ctrl + alt + shift + s), затем нажать кнопку плюс и добавить новый артефакт (web: application archieve)

get war file in Intellij

После восстановления артефакта файл .war можно увидеть в project-folder\out\artifacts. Затем вы должны поместить этот файл в свою папку tomcat/webapps.

Например, если вы используете Tomcat-7, папка, которую я имею в виду, существует в /var/lib/tomcat7/webapps. Перед копированием .war file следует переименовать его как ROOT.war. Это обеспечивает прямой доступ к вашему сайту с помощью http://youripaddress:8080. После перезапуска службы Tomcat7 вы можете получить доступ к сайту.

Но еще не закончен, вы можете удаленно отлаживать проект, как вы отлаживаете свой проект на локальном компьютере с помощью Intellij Idea. Откройте "Запустить/отладить конфигурацию" в "Идеи", нажмите кнопку "плюс", и там будет Remote. Это способ отладки ваших проектов для серверов приложений, таких как JBoss, Glassfish, а также в Idea. Введите номера хоста и порта, выберите ваш проект в качестве модуля.

Прежде чем приступать к отладке, как говорит Intellij, вы должны указать на свой JVM следующий параметр:

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

Чтобы сделать это в Ubuntu и Tomcat-7, измените файл catalina.sh в папке usr/share/tomcat7. Я вставил параметр выше строки if [ -z "$LOGGING_MANAGER" ]; then. Он должен находиться в средней части файла. Затем вы сможете отлаживать свой проект с помощью Intellij Idea.