Vários contextos com o mesmo erro de caminho ao executar o serviço da web no Eclipse usando o Tomcat


130

Este é o erro que recebi quando criei meu primeiro serviço da web Axis2 usando o Eclipse. Após escrever a turma, criei o serviço da web com o Apache Axis2. Quando clico no botão Iniciar servidor no eclipse, é exibida uma mensagem de erro:

Não foi possível publicar a configuração do servidor para o Tomcat v6.0 Server no host local.
Vários contextos têm um caminho "/ FirstApache".

FirstApache é o projeto web dinâmico que eu criei antes. Selecionei o projeto da web correto na parte de configuração no assistente de serviço da web.

Como posso consertar isso?

Respostas:


276

Procure o server.xmlarquivo e verifique suas <Context>tags, provavelmente existem várias definições para o mesmo caminho. Remova as duplicatas e deve funcionar para você.

Confira a resposta aqui .

Formate automaticamente o arquivo xml ( control+ shift+ f), pois a segunda <Context>tag pode estar na mesma linha, mas fora da janela de exibição e muito longe da visível.


13
Você pode encontrar o arquivo server.xml no workspace \ .metadata \ .plugins \ org.eclipse.wst.server.core \ tmp0 \ conf (tmp0 mudança no caso de este não é o seu servidor padrão eclipse)
Repoker

Eu tive esse problema depois que criei uma cópia de um projeto dinâmico da web no eclipse java ee e tentei executar os JSPs na cópia. Como corrijo esse problema?
Erran Morad

Deve ser protegido para evitar outros "agradecimentos" inúteis. Um voto positivo para a resposta é melhor do que um comentário de agradecimento.
Dwhitz 17/05

Obrigado, está funcionando, mas estou confuso por que essa duplicação ocorre?
Sandip S.

Esta solução ainda funciona, estou usando o Tomcat 8.5 no Eclipse V2018-12
Raymund Arthur

70

No STS / Eclipse, vá para "project explorer" ou "package explorer" e existe uma pasta chamada "server". Abra-o e você encontrará o server.xmlarquivo. Dentro deste arquivo, na parte inferior, você encontra uma definição como

<Context docBase="myproject" path="/myproject" reloadable="true"
   source="org.eclipse.jst.jee.server:myproject"/>

Você pode encontrar duplicatas da mesma definição que precisaria remover.


1
Adicionando exclusão de servidores acrescentou, esta linha mais uma vez automaticamente
Vinayak Shedgeri

Se o aplicativo não iniciar mesmo depois disso, vá para a guia "Servidores" ao lado de Console e remova todos os módulos localizados na lista suspensa do nome do servidor. Execute o projeto novamente depois disso
Sameer Sinha

41

No Eclipse, acesse o projeto Servidores . Abra a árvore para a versão do Tomcat que você está usando. Abra o arquivo server.xml e verifique suas tags de contexto.


28

No seu eclipse IDE no Project Explorer, acesse o server.xml como em:

insira a descrição da imagem aqui

E remova tags de contexto com referências duplicadas para o seu projeto:

insira a descrição da imagem aqui


16

Vá para server.xmle "Context"procure uma tag com um nome de propriedade "docBase".

Remova as linhas duplicadas aqui. Em seguida, tente reiniciar o servidor.


12

Vá para o projeto Servers no eclipse, na configuração do servidor de tempo de execução (no meu caso, Tomcat v7.0 Server em localhost-config), vá para o arquivo server.xml e procure pela tag <context>, normalmente você encontrará mais de uma tag de contexto , exclua-os e execute seu aplicativo no servidor apropriado que funcionará agora.

no meu caso, encontrei a tag de contexto duplicada:

<Context docBase="my-project" path="/my-project" reloadable="true" source="org.eclipse.jst.jee.server:my-project"/&gt;&lt;Context docBase="my-project" path="/smartphone-selfcare" reloadable="true" source="org.eclipse.jst.jee.server:my-project"/></Host>

10

No eclipse usando o tomcat, basta abrir este arquivo server.xml e encontrar a tag Context e aqui você vê que o seu nome de contexto é mais do que um, basta excluir contextos inúteis e reiniciar o servidor.

insira a descrição da imagem aqui


5
  1. Nas propriedades do seu projeto, escolha "Configurações do projeto da Web".
  2. Altere "Raiz de contexto".
  3. Limpe seu servidor
  4. agora você pode reiniciar seu servidor

Excelente solução para desenvolvedores que usam mais de uma instância do mesmo aplicativo em locais diferentes nas estações de trabalho. Descobri que nem todas as instalações do Eclipse / Tomcat têm uma marca <Context> no arquivo server.xml.
Mindsect Team 08/08/19

5

Eclipse >> explorador de projetos >> servidores >> server.xml >> tag >> remova a tag duplicada do seu projeto


3

Simplesmente remova o servidor no Eclipse e inclua o servidor tomcat novamente. do que encerrar o tomcat no arquivo tomcat / bin / shutdown.bat e iniciar o servidor no eclipse.


2

Tente excluir o servidor tomcat existente no console do servidor. Se você não possui o console, pode ir para "Mostrar visualização -> servidor", excluir o servidor clicando com o botão direito do mouse e adicionar um novo servidor.


2

Se você estiver usando o Tomcat 7 e o Eclipse, clique no servidor Tomcat e vá para a guia módulos. Lá você encontrará a entrada duplicada. Remova a entrada e reimplemente o aplicativo. Você está pronto para ir agora.


2

Em uma nota relacionada, se você copiou um projeto ou em qualquer caso, tem o mesmo caminho de contexto para 2 projetos 'ativos', é necessário alterar o caminho de contexto de um deles, limpar as configurações do servidor tomcat e republicar os servidores

veja esta resposta mais detalhada


1

Eu já tive esse problema antes. Acabei de resolver expandindo a árvore do tomcat e excluindo a pasta que está causando o conflito. no seu caso é /FirstApache. depois de excluí-lo. então você a executa novamente, deve poder executar. Se isso acontecer novamente, exclua-o e tente novamente.


0

Remova o espaço ou a linha vazia em server.xml ou context.xml no início do seu código


0

No meu caso, encontrei caminhos duplicados em Servers / Tomcat5.5 em localhost-config / server.xml sob a tag. A remoção das duplicatas resolveu o problema.


0

Exclua org.eclipse.wst.server.core e org.eclipse.wst.server.ui de .metadata / .plugins do wrokspace

exclua o servidor do eclipse e reconfigure o servidor no eclipse.


0

Este erro ocorre quando você copia um projeto além do passado e, em seguida, altera o nome desse projeto.

nesse caso, siga as etapas a seguir.

Etapa 1: você precisa editar seu arquivo web.xml. remova o servlet e o mapeamento de servlet dos projetos anteriores.

Etapa 2: acesse SERVER -> server.xml -> find context

Exemplo: - Contexto docBase = "JSPandServletDemo" path = "/ JSPandServletDemo" reloadable = "true" source = "org.eclipse.jst.jee.server: JSPandServletDemo" />

agora você só precisa alterar o nome do caminho para o nome do projeto atual.

Boa sorte codificação feliz :)


-1

Se você estiver usando o STS e seu servidor for Pivotal, clique duas vezes no servidor e vá para> guia Módulos> exibir Configurar os Módulos da Web neste servidor.> Você pode apenas remover os módulos e executar novamente.


-1
 //Trying to do more than one thing to the object in the same context, 
//the solution is to work on single context objects

public class SingletonContext<TContext>
    where TContext: DbContext,new()
{
    private static TContext _context;

    private SingletonContext()
    {

    }
    public static TContext GetInstance()
    {
        if (_context == null)
        {
            _context = new TContext();
        }
        return _context;
    }

}
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.