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
.