Instalei o Tomcat6 no Lucid usando as instruções aqui:https://help.ubuntu.com/10.04/serverguide/C/tomcat.html
(Eu não criei uma versão em nível de instância - a versão em nível de sistema estava correta)
Quando tentei iniciá-lo, recebi o seguinte erro no log:
java.lang.ClassNotFoundException: org.apache.catalina.startup.Catalina
at java.net.URLClassLoader$1.run(URLClassLoader.java:202)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:190)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at java.lang.ClassLoader.loadClass(ClassLoader.java:247)
at org.apache.catalina.startup.Bootstrap.init(Bootstrap.java:216)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:391)
Isso foi resolvido fazendo o seguinte:
root@...:/var/lib/tomcat6# ln -s /usr/share/java lib
Por que eu precisei fazer isso? Por que não funciona na caixa? (Por que isso não está noManual do Ubuntu no Tomcat?)
Responder1
Instalando o Tomcat usando:
sudo apt-get install tomcat6
deve instalar e iniciar o Tomcat como um serviço perfeitamente. O serviço pode ser iniciado e interrompido usando:
sudo /etc/init.d/tomcat6 start
sudo /etc/init.d/tomcat6 stop
Você pode verificar se o serviço está em execução visualizando http://localhost:8080/
, usando um navegador ou na linha de comando:
curl http://localhost:8080/
Se isso não estiver funcionando imediatamente para você, algo está estranho em como sua máquina está configurada ou em como você está tentando executar o serviço Tomcat.
Se você estiver tentando executar o Tomcat de outra forma que não seja usando o script /etc/init.d/tomcat6, provavelmente terá complicações. Existem duas variáveis ambientais que definem onde a distribuição e os arquivos do Tomcat estão localizados; CATALINA_HOME e CATALINA_BASE. Para uma instalação básica do pacote, eles serão definidos automaticamente pelo script init.d para:
CATALINA_HOME=/usr/share/tomcat6
CATALINA_BASE=/var/lib/tomcat6
Se você estiver tentando executar o Tomcat de alguma outra forma, é possível que essas variáveis não estejam configuradas corretamente, o que pode resultar no erro que você está descrevendo.
O servidor Tomcat empacotado foi projetado para ser usado para executar o Tomcat como um serviço em segundo plano em um servidor e, como tal, só deve ser iniciado e interrompido usando o script init.d. Se você estiver tentando executar o Tomcat em uma máquina de desenvolvimento (por exemplo, a partir de um IDE como o Eclipse), você descobrirá que a maneira como o pacote instala o Tomcat é inadequada e, em vez disso, você deve instalar uma instância privada usando o comandoinstruçõesno manual do servidor ou porbaixandodiretamente do site do Tomcat e extraindo-o manualmente.