Não é possível iniciar o tomcat depois de instalar uma instância privada

1

Ok, agora eu passei bastante tempo configurando o Tomcat corretamente no meu sistema operacional Ubuntu 12.04, e já estou farto, já que já são 2:00 da manhã.

Primeiro eu instalei o tomcat7 como descrito nesta pergunta - Como devo instalar o Apache Tomcat 7 para uso com o Eclipse? .

Depois, pensei em instalar uma instância privada do tomcat, conforme descrito em uma resposta à pergunta vinculada. Então, eu desinstalei o tomcat7 usando o processo descrito nesta questão - link

E agora, instalei uma instância privada usando:

sudo apt-get install tomcat7-user
sudo tomcat7-instance-create ~/my-tomcat-instance

Agora, quando vou começar o tomcat, não está começando. Como não é instalado como um serviço, é claro que não posso iniciá-lo como um serviço. Mas, nem consigo iniciar usando o arquivo startup.sh . Estou recebendo o seguinte erro:

/usr/share/tomcat7$ bin/startup.sh

Using CATALINA_BASE:   /usr/share/tomcat7
Using CATALINA_HOME:   /usr/share/tomcat7
Using CATALINA_TMPDIR: /usr/share/tomcat7/temp
Using JRE_HOME:        /usr

Using CLASSPATH:       /usr/share/tomcat7/bin/bootstrap.jar:/usr/share/tomcat7/bin/tomcat-juli.jar
touch: cannot touch '/usr/share/tomcat7/logs/catalina.out': No such file or directory
bin/catalina.sh: 389: bin/catalina.sh: cannot create /usr/share/tomcat7/logs/catalina.out: Directory nonexistent

Agora qual é o problema aqui. Eu entendo que o tomcat anterior não estava iniciando como foi instalado como um serviço. Então, eu tenho que usar - service tomcat7 start , para iniciá-lo. Mas agora, não está instalado como um serviço. Então, como devo começar?

Estou enfrentando outra questão de configurar o tomcat recém-instalado no eclipse. Está me mostrando o mesmo erro como nesta questão - integração do Tomcat 7 e do Eclipse recebendo erro quando eu adiciono o servidor. Estou usando o Eclipse Juno. Instalou-o baixando um arquivo .tar.gz .

Por favor me ajude a sair daqui. Eu fiquei preso nas últimas 5 horas.

    
por Rohit Jain 26.06.2013 / 22:35

1 resposta

5

Na linha de comando

Para executar sua instância privada do Tomcat na linha de comando, você precisa executar o script startup.sh no diretório de instâncias privadas em vez daquele em /usr/share/tomcat7 . Então, no seu caso, você precisa executar:

~/my-tomcat-instance/bin/startup.sh

Isso deve funcionar imediatamente.

Do Eclipse

Para executar a partir do Eclipse, você também deve criar seu Ambiente de Tempo de Execução do Servidor usando o diretório ~/my-tomcat-instance/ em vez de /usr/share/tomcat7/ .

No entanto, conseguir esse trabalho é muito mais difícil do que deveria ser. Isso ocorre parcialmente porque o Eclipse é um pouco problemático e em parte porque o Eclipse não faz distinção entre CATALINA_BASE e CATALINA_HOME .

Arquivos ausentes

Acontece que o script tomcat7-instance-create não configura tudo o que o Eclipse precisa. Isso foi relatado como um bug que parece ter sido corrigido em algum momento para o Tomcat 6 , mas por alguma razão o patch não está no pacote tomcat7-user . Eu criei um novo bug na esperança de que isso seja consertado, mas no Enquanto isso, você precisa executar os seguintes comandos:

ln -s /usr/share/tomcat7/lib ~/my-tomcat-instance/lib
ln -s /usr/share/tomcat7/bin/bootstrap.jar ~/my-tomcat-instance/bin/bootstrap.jar

Em seguida, você precisa obter uma cópia de catalina.policy , que não é distribuída como parte do pacote tomcat7-user , e colocá-la no diretório conf/ da sua instância. Você pode obtê-lo do repositório de códigos para o pacote tomcat7 :

curl http://bazaar.launchpad.net/\~ubuntu-branches/ubuntu/precise/tomcat7/precise/view/head:/conf/catalina.policy > ~/my-test-tomcat7-instance/conf/catalina.policy

Novo bug do servidor

Ao testar isso, também encontrei outro bug, que resolvi excluindo esses arquivos:

{workspace-directory}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.wst.server.core.prefs
{workspace-directory}/.metadata/.plugins/org.eclipse.core.runtime/.settings/org.eclipse.jst.server.tomcat.core.prefs

de acordo com a resposta aceita em Eclipse adicionar o nome do servidor em branco do Tomcat 7 . Obviamente, só faça este passo se precisar.

Veja também Eclipse 4.2 (Juno) 'Não é possível criar um servidor usando o tipo selecionado' no Tomcat 7 para obter esse trabalho usando o pacote tomcat7 .

    
por David Edwards 27.06.2013 / 00:48