Не удается запустить Apache Tomcat 6 из IntelliJ IDEA 12.1.4 Ultimate (Windows 7)
Мне нужно отладить веб-приложение для Tomcat6 в IntelliJ IDEA.
Когда я пытаюсь запустить мое веб-приложение, я получаю две ошибки:
- Адрес localhost: 1099 уже используется
- Невозможно открыть порт отладчика: java.net.SocketException
Запуск службы Apache Tomcat 6 вручную прекрасен.
Что делать, чтобы иметь возможность отлаживать веб-приложения в Apache Tomcat 6 от Intellij IDEA?
Ответы
Ответ 1
Следуя приведенным ниже шагам, выполните: -
- Откройте командную строку и введите команду netstat -ano
- Вы увидите список активных TCP-соединений с PID в качестве последнего столбца
- Посмотрите на второй столбец, в котором перечислены локальные адреса, и найдите тот, который использует порт 1099, и вы получите его PID
- Теперь откройте диспетчер задач, перейдите на вкладку "Процесс" и выберите столбец PID, чтобы щелкнуть правой кнопкой мыши по строке заголовка и выбрать PID или нажать "Вид", а затем выбрать "Выбрать столбцы" и выбрать "ПИД-код".]
- Теперь найдите PID, который мы получили из Step3, и завершите процесс.
Теперь вам хорошо идти:)
Ответ 2
В диалоговом окне "Запуск/отладка" вы можете изменить порт JMX (1099 по умолчанию). Просто попробуйте другой номер порта (т.е. 9099).
Ответ 3
Я все время сталкиваюсь с этой проблемой. Вот как это исправить.
LINUX
Откройте экземпляр терминала.
fuser 1099/tcp
Это должно вернуть вам идентификатор процесса.
1099/tcp: 31596
где 31596 - идентификатор процесса. Теперь вы можете либо использовать идентификатор процесса, чтобы его убить, либо просто bash следующее:
fuser -k 1099/tcp
WINDOWS
Откройте экземпляр командной строки.
netstat -aon | find "1099"
Это вернет вам экземпляр процесса.
выход:
TCP 0.0.0.0:1099 0.0.0.0:0 LISTENING 15776
Здесь 15776 - идентификатор процесса. Чтобы убить это, введите -
taskkill /F /PID 15776
Ура!
Ответ 4
Если у вас уже есть веб-приложение, возможно, есть старый сервер отладки, который не закрывается должным образом в фоновом режиме. См. Это сообщение о том, как найти, какой процесс использует порт 1099. Если он окажется Java-процессом, убейте его.
Как узнать, какой процесс прослушивает порт в Windows?
(Если вы используете GUI sw, предложенный в приведенной выше ссылке, вы можете убить процесс (ы), пометив все процессы java, которые используют порт 1099, щелкните правой кнопкой мыши и нажмите "Завершить процесс..." )
Ответ 5
Как уже говорилось, в фоновом режиме работает старый сервер отладки.
Мое решение состояло в том, чтобы закрыть процесс Java, который был оставлен открытым из диспетчера задач Windows.
Пожалуйста, убедитесь, что вы можете закрыть этот процесс, прежде чем делать это!
Ответ 6
Измените свой http-порт на 8080 (по умолчанию для tomcat) и отладочный порт на то, что в настоящее время не используется никакими процессами. Вы можете использовать все, что превышает 1024, но поскольку вы получаете ошибку на 1099, попробуйте что-то большее, чем 6000.
Отладочный параметр можно найти здесь
Ответ 7
В фоновом режиме может быть другая программа или сервер. Сначала закройте другой сервер, работающий в фоновом режиме, а затем перезапустите сервер.
Ответ 8
Я нашел этот ответ полезным:
Как узнать, какой процесс прослушивает порт в Windows?
Я открыл монитор ресурсов и искал, что использует порты. Затем открыл диспетчер задач и завершил эти процессы
Ответ 9
Просто закройте все ненужные серверы, используя InteliJ.
Я остановил свой WAMP, чтобы удалить эту ошибку "Порт уже используется".