Instalar Eclipse con Tomcat en Ubuntu/Debian.

23-02-2008 > Miquel Casanovas


Mostrar o escribir comentarios (dudas) sobre este artículo

S.O: Ubuntu Gutsy Gibbon (7.10)
Software: Eclipse 3.2.2, Sun-Java6 (jdk, jre), Tomcat5.5 y TomcatPluginV321.
Hardware: PC genérico
Inglish Title: Install Eclipse with Tomcat in Ubuntu/Debian.


Este manual tiene la función de recordatorio. Cada vez que formateo el PC para probar una nueva versión de Linux, nunca me acuerdo de los pasos a seguir para volver a tener el IDE para desarrollar Servlets. En mi caso, utilizo el IDE Eclipse 3.2 juntamente con el servidor de aplicaciones Tomcat5.5. Para la compilacion de los proyectos ya hago servir la versión 6 del Sun Java (bin, jre y jdk).

Instalar el sistema de desarrollo en nuestro escritorio Linux no es muy complejo. En este manual utilizamos una Ubuntu Gutsy Gibbon (7.10) pero llevo instalándolo en todas las versiones anteriores de Ubuntu (Edgy, Feisty fawn, ...) y el procedimiento es prácticamente igual. También podéis seguir estos pasos si tenéis una Debian Etch, Sid, ...

Instalamos el Java, con las variables de entorno y el kit de desarrollo:
> apt-get update.
> apt-get install sun-java6-bin
> apt-get install sun-java6-jre
> apt-get install sun-java6-jdk


Instalamos el entorno de desarrollo Eclipse.
> apt-get install eclipse

También instalamos el servidor de aplicaciones Tomcat5.5 (opcionalmente podemos instalar aplicaciones de ejemplo y una aplicación de administración)
> apt-get install tomcat5.5 tomcat5.5-webapps tomcat5.5-administrator

Para que el Eclipse pueda desarrollar proyectos con Tomcat, es necesario añadir un plugin en el Eclipse. Esto nos permitirá poner en funcionamiento el Tomcat o ver los “logs” desde el IDE, entre muchas otras funciones. Nos descargamos el plugin y lo extraemos en la carpeta correspondiente.
> wget http://www.eclipsetotale.com/tomcatPlugin/tomcatPluginV321.zip
> mv tomcatPluginV321.zip /usr/local/lib/eclipse/plugins/
> unzip /usr/local/lib/eclipse/plugins/tomcatPluginV321.zip
> rm /usr/local/lib/eclipse/plugins/tomcatPluginV321.zip


Pasamos a temas estrictamente de configuración. Ejecutamos el eclipse (Aplicaciones->Programacion->Eclipse) y cerramos la ventana de presentación que se abre.

Procedemos a abrir el menu Window -> Preferences. Se nos abrirá una nueva ventana donde se pueden configurar muchos parámetros. Solo tenemos que configurar los siguiente:

· En JAVA -> BUILD PATH -> CLASSPATH VARIABLES -> Clicamos en el botón New y introducimos la variable tomcat_home:
    Name:TOMCAT_HOME
    Path:/usr/share/tomcat5.5


· En JAVA -> COMPILER -> Hay una opción que pone Compiler Compilance Level, Se tiene que seleccionar la versión de Java en que queremos compilar nuestras aplicaciones, anteriormente hemos instalado la 6, entonces seleccionamos la 6.0.

· En TOMCAT -> Seleccionamos la versión que hemos instalado, será la opción Tomcat 5.X y en tomcat_home tenemos que volver a poner la ruta del Tomcat.
tomcat_home =  /usr/share/tomcat5.5  (le damos en el boton "Apply")

· Por último en TOMCAT -> JVM settings -> Nos aseguramos que el que haya seleccionado el Java6.

Ya tenemos el Eclipse configurado, cerramos el programa y procedemos a configurar algún parámetro del Tomcat.

Damos permisos de escritura en el directorio cache:
> chmod -R 777 /var/cache/tomcat5.5*

Editamos el archivo server.xml y ponemos que el Tomcat corra por el puerto 8080 y en conexión non-ssl:
> vim /var/cache/tomcat5.5/conf/server.xml

Descomentamos las siguientes lineas siguiente:
<!-- Define a non-SSL HTTP/1.1 Connector on port 8080 -->
<Connector port="8080" maxHttpHeaderSize="8192"
       maxThreads="150" minSpareThreads="25" maxSpareThreads="75"
       enableLookups="false" redirectPort="8443" acceptCount="100"
       connectionTimeout="20000" disableUploadTimeout="true" />


Ya tenemos nuestro entorno de desarrollo de aplicaciones de Java configurado. Abrir el Eclipse, clicar en el icono &start tomcat y vemos como el servicio se carga correctamente:
23-feb-2008 14:31:15 org.apache.catalina.core.AprLifecycleListener lifecycleEvent
INFO: The Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path: /usr/lib/jvm/java-6-sun-1.6.0.03/jre/lib/i386/client:/usr/lib/jvm/java-6-sun-1.6.0.03
/jre/lib/i386:/usr/lib/jvm/java-6-sun-1.6.0.03/jre/../lib/i386:/usr/lib/firefox:/usr/java/packages/lib/i386:
/lib:/usr/lib
23-feb-2008 14:31:15 org.apache.coyote.http11.Http11BaseProtocol init
INFO: Inicializando Coyote HTTP/1.1 en puerto http-8080
23-feb-2008 14:31:15 org.apache.catalina.startup.Catalina load
INFO: Initialization processed in 529 ms
23-feb-2008 14:31:15 org.apache.catalina.users.MemoryUserDatabase save
ADVERTENCIA: User database is not persistable - no write permissions on directory
23-feb-2008 14:31:15 org.apache.catalina.core.StandardService start
INFO: Arrancando servicio Catalina
23-feb-2008 14:31:15 org.apache.catalina.core.StandardEngine start
INFO: Starting Servlet Engine: Apache Tomcat/5.5
23-feb-2008 14:31:15 org.apache.catalina.core.StandardHost start
INFO: Desactivada la validación XML
23-feb-2008 14:31:15 org.apache.catalina.loader.WebappClassLoader validateJarFile
23-feb-2008 14:31:16 org.apache.catalina.loader.WebappClassLoader validateJarFile
23-feb-2008 14:31:16 org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
23-feb-2008 14:31:16 org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
23-feb-2008 14:31:16 org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded('org.apache.catalina.Registry', 'org.apache.commons.modeler.Registry@156e5ed')
23-feb-2008 14:31:16 org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded('org.apache.catalina.MBeanServer', 'com.sun.jmx.mbeanserver.JmxMBeanServer@114b17')
23-feb-2008 14:31:16 org.apache.catalina.core.ApplicationContext log
INFO: org.apache.webapp.balancer.BalancerFilter: init(): ruleChain: [org.apache.webapp.balancer.RuleChain: [org.apache.webapp.balancer.rules.URLStringMatchRule: Target string: News / Redirect URL: http://www.cnn.com], [org.apache.webapp.balancer.rules.RequestParameterRule: Target param name: paramName / Target param value: paramValue / Redirect URL: http://www.yahoo.com], [org.apache.webapp.balancer.rules.AcceptEverythingRule: Redirect URL: http://jakarta.apache.org]]
23-feb-2008 14:31:16 org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: contextInitialized()
23-feb-2008 14:31:16 org.apache.catalina.core.ApplicationContext log
INFO: SessionListener: contextInitialized()
23-feb-2008 14:31:16 org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded('org.apache.catalina.Registry', 'org.apache.commons.modeler.Registry@156e5ed')
23-feb-2008 14:31:16 org.apache.catalina.core.ApplicationContext log
INFO: ContextListener: attributeAdded('org.apache.catalina.MBeanServer', 'com.sun.jmx.mbeanserver.JmxMBeanServer@114b17')
23-feb-2008 14:31:16 org.apache.coyote.http11.Http11BaseProtocol start
INFO: Arrancando Coyote HTTP/1.1 en puerto http-8080
23-feb-2008 14:31:16 org.apache.catalina.storeconfig.StoreLoader load
INFO: Find registry server-registry.xml at classpath resource
23-feb-2008 14:31:16 org.apache.catalina.startup.Catalina start
INFO: Server startup in 1357 ms


En File -> New -> Project -> Java -> Tomcat Project para crear un proyecto.

Anotaciones:
· En las versiones de Ubuntu los archivos de dentro el /usr/share/tomcat5.5 son enlaces simbólicos a otras carpetas del sistema. Tener en cuenta según lo que se quiera hacer. Por ejemplo:
/usr/share/tomcat5.5/config es una enlace símbolico a /etc/tomcat5.5/
/usr/share/tomcat5.5/webapps es una enlace símbolico a /var/lib/tomcat5.5/webapps


· Si las aplicaciones no están dentro del Tomcat_Home/webapps, puedes resolverlo desviando el enlace simbólico a la carpeta correspondiente:
> rmdir /var/lib/tomcat5.5/webapps
> ln -s /home/gurx/workspace/tomcat /var/lib/tomcat5.5/webapps


· En /etc/tomcat5.5/Catalina/localhost/ están los XML de configuración para el tomcat de los proyectos que vais creando en el Eclipse.

Mostrar o escribir comentarios (dudas) sobre este artículo