Estou recebendo o seguinte erro ao tentar executar um programa JSP simples no Tomcat no Eclipse.
Várias portas (8005, 8080, 8009) exigidas pelo Tomcat v6.0 Server no host local já estão em uso. O servidor já pode estar em execução em outro processo ou um processo do sistema pode estar usando a porta. Para iniciar este servidor, você precisará interromper o outro processo ou alterar o (s) número (s) da porta.
Como isso é causado e como posso resolvê-lo?
netstat -ano | findStr 8080
para encontrar os serviços em execução e, em seguida, encontrar o ID do processo e copiar o pid e execute o comando novamente comotaskkill /F /PID pid_number
Respostas:
Você já tem outra instância do Tomcat em execução. Você pode confirmar isso acessando
http://localhost:8080
o navegador da web e verificando se a página inicial padrão do Tomcat ou a página de erro 404 específica do Tomcat são exibidas. Ambos são evidências igualmente válidas de que o Tomcat funciona bem; caso contrário, você teria recebido uma mensagem de erro de tempo limite de conexão HTTP específica do navegador.Você precisa desligá-lo. Vá para a
/bin
subpasta da pasta de instalação do Tomcat e execute o scriptshutdown.bat
(Windows) oushutdown.sh
(Unix). Se for em vão, feche o Eclipse e abra o gerenciador de tarefas e elimine todosjava
e / oujavaw
processos.Ou se você realmente o instalou como um serviço do Windows por algum motivo (isto é destinado à produção e é inútil quando você está apenas desenvolvendo), abra o gerenciador de serviços ( Iniciar> Executar> services.msc ) e pare o serviço Tomcat. Se necessário, desinstale o serviço do Windows completamente. Para o desenvolvimento, apenas o arquivo ZIP é suficiente.
Ou, se sua intenção real é executar duas instâncias do Tomcat simultaneamente, é necessário configurar a segunda instância para escutar em portas diferentes. Consulte a documentação do Tomcat para obter mais detalhes.
fonte
sh shutdown.sh
no terminal dentro do diretório / bin.shutdown.bat
na minha pasta bin. O Tomcat foi instalado como um serviço e não como um zip. A interrupção do serviço tomcat nos serviços corrigiu o problema. Obrigado. Chenqui.system monitor
outask manager
matar um processo java que esteja usandoabout 400 MB
ou maisRAM
também resolverá o problema. Sem querer, está reservando o processo.fonte
kill $(ps -aef | grep java | grep apache | awk '{print $2}')
kill
comando.Se você estiver executando no Windows, tente isso no prompt da linha de comando:
Isso mostrará todas as portas em uso e o ID do processo PID # do processo que está usando essa porta. Em seguida, Ctrl+ Alt+ Dele abra o Gerenciador de tarefas para ver qual processo é esse.
Você pode optar por fechá-lo / pará-lo ou configurar seu servidor para usar outra porta. Para verificar se a nova porta escolhida (digamos 8010) está disponível, faça o seguinte:
Se não retornar nenhuma linha, você estará bem.
Para alterar a porta, vá para a visualização Servidor, abra server.xml e altere a porta. O meu tem esta entrada:
fonte
findstr
para aqueles sem grep.Se você estiver no ambiente Mac, aqui está o que eu fiz.
Encontre o ID do processo em execução nesta porta no terminal, por exemplo, 8080:
e mate-o:
Exemplo:
Você pode ver o seguinte resultado:
e mate-o: (
kill -9 21347
)fonte
Etapas para liberar a porta que já é usada para executar o servidor tomcat no Eclipse
Por exemplo, suponha que a porta 8080 seja usada, precisamos liberar 8080 para executar o tomcat
Passo 1:
C: \ Usuários \ nome de usuário> netstat -o -n -a | findstr 0.0: 8080
TCP 0.0.0.0:3000 0.0.0.0↓ LISTENING 3116
Agora, podemos ver que a porta LISTENING é 3116 para 8080,
Precisamos matar 3116 agora
Passo 2:-
C: \ Usuários \ nome de usuário> taskkill / F / PID 3116
Etapa 3: Vá para o Eclipse e inicie o Servidor, ele será executado
fonte
Se você usar o Eclipse, clique duas vezes nos servidores e clique duas vezes no servidor tomcat, e um arquivo será aberto. Nesse arquivo, altere a porta HTTP para outro número de porta e salve ( Ctrl+ S) e inicie novamente o servidor.
fonte
Se o Eclipse disser
Este erro ocorre porque o tomcat pode estar sendo executado em segundo plano; portanto, primeiro interrompa o servidor ... siga os detalhes abaixo.
A solução é:
Obrigado!
fonte
Não tenho outra instância do Tomcat executando o anúncio e nenhum outro processo usando a "porta Tomcat" (no meu caso, a porta 8088). O Eclipse envia a mesma mensagem ao iniciar o Tomcat:
.... O servidor já pode estar em execução em outro processo ou um processo do sistema pode estar usando a porta. Para iniciar este servidor, você precisará interromper o outro processo ou alterar o (s) número (s) da porta.
Eu resolvo o problema desta maneira:
fonte
O que fiz depois de ler todas as respostas sugeridas e como sei que minha porta já estava em uso. Cliquei duas vezes no Tomcat na guia Servidores no eclipse e ele abriu as informações da visão geral e, em seguida, localizou as informações da porta. Apenas alterei a porta conflitante, pois a minha era a porta 8009 (erro mencionado durante a inicialização do servidor). Eu mudei para 8008 e funciona bem. Faça uma tentativa se a porta alterada não estiver em uso, o servidor será iniciado.
fonte
Etapa 1: netstat -a -o -n e abrirá uma lista de redes, procure o endereço local como 127.0.0.1:8080 e observe o PID (eq 3624)
Etapa 2: skillkill / F / PID 3624 . Execute este comando para matar esse processo.
link para postar
fonte
No Windows, use o comando para parar a instância do tomcat já em execução e tente executá-la novamente no eclipse, pois pode funcionar.
Ou você pode alterar a porta no XML do servidor, se desejar apenas executar em outras portas.
fonte
Maneira fácil de resolver seu problema:
O servidor já pode estar em execução em outro processo ou um processo do sistema pode estar usando a porta. Para eliminar essa porta, faça o seguinte:
1) Faça o download do TCPView (apenas 285kb) no link a seguir.
http://technet.microsoft.com/en-in/sysinternals/bb897437.aspx
2) Extraia a pasta e inicie o aplicativo TCPView .
3) Clique com o botão direito do mouse em java.exe (porque as portas 8009.8005 são comumente usadas pelo processo java) e selecione a opção Finalizar processo .
isso iria parar outro processo facilmente ..
NOTA : A execução do TOMCATPATH / bin / shutdown.bat pode não desligar o Tomcat quando ele contém alguns demônios ou threads não gerenciados. Nesses casos, o TCPView funciona bem sem problemas.
fonte
Se você estiver no Java EE prospectivo no Eclipse e tentando iniciar o Tomcat Server no Eclipse no modo de depuração, receberá esses erros. Você deve mudar para o potencial de depuração no Eclipse. Eu resolvi meu problema assim.
fonte
Às vezes, se as portas não forem liberadas, mesmo após a tentativa de shutdown.bat, o que o @BalusC sugeriu, você pode matar o processo javaw. Execute as seguintes etapas:
Digite o comando ps. Você pode ver uma imagem da seguinte maneira:
Veja o número do processo "javaw". O número do processo é o número mais à direita nas colunas, destaquei na imagem número do processo da javaw, por exemplo.
Digite o comando kill. javaw está morto e agora você deve poder executar o programa.
fonte
Aqui está mais uma opção para tentar se nenhum dos esforços acima ajudou. Você pode estar usando o Eclipse a partir de uma unidade compartilhada (por exemplo, H :) . Nesse caso, mova / copie o diretório inteiro do Eclipse para C: e tente novamente.
Meu Eclipse não pôde abrir portas para o servidor Tomcat (com o erro acima) nem se conectar à Internet. Também tentei outro plug-in do Tomcat (Sysdeo), que também não abriu as portas.
Estas são as opções que eu tentei:
Verificar e matar outras instâncias do Tomcat
netstat -ano
verifique se outros processos estão usando as portas em conflito.Alterar portas do Tomcat no Eclipse
Mate java.exe e javaw
Veja minha outra resposta para o Eclipse não se conectar à Internet ( https://stackoverflow.com/a/37246087/4212710 ).
fonte
Para usuários do Windows:
Vá para o Gerenciador de tarefas diretamente com a combinação de teclas CTRL + SHIFT + ESC.
Mate os processos "java.exe" clicando com o botão direito do mouse e selecionando "Finalizar tarefa".
fonte
Eu verifiquei todas as respostas, mas
informing only to kill PID
.Caso o acesso ao terminal seja compartilhado por todos, isso não ajudará ou talvez você não tenha permissão para matar o PID .
Nesse caso, o que você pode fazer é:
Double click on server
Go to Overview and change ports in Ports
como isso:fonte
A correção mais simples que funciona para mim é excluir meus aplicativos da Web atualmente implantados do tomcat através da guia "Servidor". Depois de removê-los, o problema desaparece. Simplesmente reimplante seu projeto, executando Executar como> Executar no servidor.
fonte
O problema geralmente surge quando o Apache Tomcat falha ao finalizar corretamente, mesmo que uma instrução de desligamento tenha sido enviada. No meu caso, usando o Tomcat 8, isso acontece com regularidade irritante. Felizmente, você pode usar o Windows PowerShell e o
netstat
comando para criar um script simples para interromper o processo.O seguinte script do PowerShell irá analisar a saída
netstat
para encontrar qualquer processo que esteja escutando127.0.0.1:8005
, extrair seu PID e depois matar esse processo:Se você
server.xml
configurar o Tomcat para usar uma porta ou IP diferente, edite a expressão regular na quarta linha do script de acordo.Por fim, devo salientar que a situação é melhor no Linux porque você pode instruir o Tomcat a salvar seu PID em um arquivo no momento da inicialização e usar uma opção para forçar o desligamento posteriormente - o script de desligamento dos sistemas 'nix já possui o a capacidade de matar o processo e o trabalho com o detetive
netstat
não é necessária.fonte
Se o problema acima ocorrer no sistema operacional Windows 7 ou 10, o problema ocorre porque o Tomcat está sendo executado como serviço do Windows. Para interromper a execução do Tomcat como Serviços do Windows, abra o Painel de Controle do Windows. Encontre o serviço "Apache Tomcat" e pare-o. A outra maneira é eliminar o processo em execução na porta 8080 usando o cmd.
Abra o cmd executando-o como administrador.
C: \ users \ nomedeusuário> taskkill / F / PID 2160
fonte
Pode ser porque você não está parando seu serviço tomcat corretamente. Para fazer isso, abra seu gerenciador de tarefas e você poderá ver um
javaw.exe
serviço. Primeiro pare esse serviço. Agora reinicie o seu tomcat, ele funciona bem.fonte
No meu caso, estava me dando o erro: A porta 8005 exigida pelo Tomcat v8.0 Server no localhost já está em uso
Alterei a porta 8005 no apache-tomcat-8.0.39 \ conf \ server.xml, mas as alterações não foram refletidas. Então eu fiz essas mudanças no eclipse. clicando duas vezes no servidor e modificando a porta de 8005 para 8006 e ele funciona.
Antes de colocar o 8006, verifiquei no shell do Windows se essa porta está disponível ou não. Executando o seguinte comando:
fonte
Eu enfrento o mesmo problema e depois de pesquisar a resposta, como mostrado abaixo: 1. abra o Monitor Tomcat, como mostrado abaixo:
Finalmente, ele trabalha comigo depois de muitas tentativas e soluções sugeridas.
Atenciosamente, Kerelos Mikhail
fonte
No Eclipse, faça uma exclusão bruta da pasta de configuração do Tomcat no projeto "Servidores". Eu tentei como última esperança e funcionou.
fonte
No caso do Windows, experimentei coisas novas ... parar a pasta tomcat da / bin imediatamente não libera a porta 8080. Demora de 5 a 10 minutos para liberar a porta. Após 10 minutos novamente, se eu tentar executar o meu projeto Executar-> Executar no servidor .. permite executar.
Não tenho certeza se meu entendimento está correto!
fonte
Consulte o blog a seguir "como matar o tomcat sem precisar reiniciar o computador"
http://stanicblog.blogspot.fr/2012/01/how-to-kill-apache-tomcat-without.html
Espero que isso ajude alguém no futuro.
fonte
Isso ocorre quando outras pessoas no projeto também estão usando os mesmos números de porta que você está usando! clique duas vezes no servidor tomcat, altere os números das portas para qualquer coisa 8585 ou o que for. O código começará a ser executado agora!
fonte
Como matar um serviço do Windows usando PID -
netstat -ano
taskkill /f /pid 5760
obrigado
matar um serviço do Windows que está parado ao parar ou iniciar
fonte
Para verificar se outra instância do Tomcat já está em execução ou algum outro processo está usando as portas, você pode usar:
Você pode obter algo parecido com isto:
Abra o gerenciador de tarefas Ctrl+ Shift+ Esce mate
Tomcat7.exe
ou qualquer outro processo usando essas portas.fonte
Seu Tomcat provavelmente já está em execução. É por isso que você recebeu um erro. Eu já tive o mesmo problema antes. Eu resolvi isso de maneira muito simples:
Isso é tudo.
fonte