Por que instalar o tomcat6 requer a criação de um link para / usr / share / java?

2

Eu instalei o tomcat6 no lucid usando as instruções aqui: link

(Eu não criei uma versão no nível da instância - a versão no nível do sistema estava boa)

Quando tentei iniciá-lo, recebi o seguinte erro no log:

java.lang.ClassNotFoundException: org.apache.catalina.startup.Catalina
    at java.net.URLClassLoader.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 preciso fazer isso? Por que isso não funciona na caixa? (Por que isso não está no Manual do Ubuntu no Tomcat ?)

    
por hawkeye 03.09.2011 / 13:24

1 resposta

1

Instalando o Tomcat usando:

sudo apt-get install tomcat6

deve instalar e iniciar o Tomcat como um serviço muito bem. 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á sendo executado exibindo http://localhost:8080/ , usando um navegador ou a partir da linha de comando:

curl http://localhost:8080/

Se isso não estiver funcionando bem, então algo é estranho sobre como sua máquina está configurada ou sobre como você está tentando executar o serviço Tomcat.

Se você está tentando executar o Tomcat de qualquer outra forma que não seja usar o script /etc/init.d/tomcat6, é provável que você encontre 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 baunilha do pacote, eles serão configurados 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 maneira, é possível que essas variáveis não estejam configuradas corretamente, o que poderia resultar no erro que você está descrevendo.

O servidor Tomcat empacotado é projetado para ser usado para executar o Tomcat como um serviço de segundo plano em um servidor e, como tal, deve ser iniciado e parado usando o script init.d. Se você estiver tentando executar o Tomcat em uma máquina de desenvolvimento (por exemplo, de um IDE como o Eclipise), descobrirá que a maneira como o pacote instala o Tomcat é inadequada e você deve instalar uma instância privada usando o instruções no manual do servidor ou por baixando diretamente do site do Tomcat e extraindo manualmente.

    
por David Edwards 21.05.2012 / 13:17