viernes, marzo 13, 2015

Apuntes Eclipse

Apuntes de Eclipse


  1. Herramientas para el analisis de la calidad

En esta ocasión quiero compartir contigo 7 herramientas que se usan para la calidad de nuestro código java. Lo importante es mejorar día a día en el desarrollo de aplicaciones mas robustas, tenemos:
  • Code Quality
  • Coding Convention
  • CheckStyle
  • PMD
  • Find Bugs
  • Sonar
  • CodePro
2.- TimerEJB – JEE6

3.- Abrir o Importar Proyecto desde Eclipse a NeatBeans

4.- FIRMAR DIGITALMENTE DOCUMENTOS PDF

5.- Tips para Eclipse

6.- Configurar TOMEE en Eclipse Luna.
  •  Windows, Preferences, Servers , RunTime, seleccionar el servidor y Remove.
  • En la Ventana donde se ubica las pestañas de Markers Propierties Servers Console etc, dar click en en link para agregar el servidor a incluir.
  • Seleccionar Apache, Tomcat7.x.x.
  • En Servername asignar TOMEE, presionar Next.
  • Seleccionar la carpeta donde esta descomprimido el TOMEE.
  • Seleccionar el JDK que se utilizar en este caso JR6, click en Next.
  •  Click en Finish.
  • Doble Click sobre TOMEE en tab de servidores.
  • En la parte de Servers Locations, dar Click en User Tomcat Instalacion.
  • En la parte de Servers Options desactivar Modules autoreload for default.
  • Luego presionar CTRL-S, para grabar los cambios.
  • Listo ahora ya podemos iniciar el TOMEE.
7.- Buscar el proceso que utiliza ese puerto 

            C:\WINDOWS\system32>netstat -o -n -a | findstr 8080
           TCP    0.0.0.0:8080           0.0.0.0:0              LISTENING       4184


            C:\WINDOWS\system32> taskkill /F /PID 4184
            SUCCESS: Sent termination signal to the process with PID 4184.


8.- Configurar colores y formato del texto para eclipse.
    Consultar en esta URL: Configurar Eclipse,  
Cambio de Colores 

9.- Configurar LOG4j en Eclipse.
 a.- Descargar el LOG4J y copiar a la carpeta lib del proyecto, el archivo log4.xxx.jar, se puede descargar desde aqui 
b.- Configurar las propiedades del proyecto en un archivo log4j.propierties que debe estar ubicado dentro de WEB-INF.
Debe contener lo siguiente: 

# Log4j configuration file.
log4j.rootCategory=DEBUG,A4,stdout

#
# stdout is ConsoleAppender
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
# Pattern to output the caller's file name and line number.
log4j.appender.stdout.layout.ConversionPattern=[%d] [%C{1}.%M(%L)] - %-5p - %m%n

#
# A4 is a DailyRollingFileAppender
log4j.logger.clases.Principal=ALL,FILE
log4j.appender.A4=org.apache.log4j.DailyRollingFileAppender
log4j.appender.A4.file=c:\\log\\log4j.log
log4j.appender.A4.MaxFileSize=10000KB

#
# Keep three backup files.
log4j.appender.A4.MaxBackupIndex=10
log4j.appender.A4.datePattern='.'yyyy-MM-dd
log4j.appender.A4.append=true
log4j.appender.A4.layout=org.apache.log4j.PatternLayout
log4j.appender.A4.layout.ConversionPattern=[%d] [%c.%M(%L)] - %-5p - %m%n
El código fuente para poder probar la configuración anterior es el siguiente:






 

c.- Luego creamos un servlet para que active dicha aplicacion:

import org.apache.log4j.PropertyConfigurator;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

public class InicializaLog4j extends HttpServlet
{

 public void init()
 {
     String prefix =  getServletContext().getRealPath("/");
     String file = getInitParameter("log4j-init-file");

     if(file != null)
     {
             PropertyConfigurator.configure(prefix+file);
     }
 }

 public void doGet(HttpServletRequest req, HttpServletResponse res)
     {
   
     }
}
 

d.- Configuramos en el web.xml para que inicialice dicha aplicacion.

  <servlet>
     <servlet-name>log4j-init</servlet-name>
     <servlet-class>swrest.InicializaLog4j</servlet-class>
     <init-param>
         <param-name>log4j-init-file</param-name>
         <param-value>WEB-INF/log4j.properties</param-value>
     </init-param>
     <load-on-startup>1</load-on-startup>
</servlet>



Configurar Log4j en Tomcat

Cómo configurar Log4j en Tomcat se describe en la documentación de Tomcat, pero la configuración de ejemplo la documentación no es correcta. Así que en este post vamos a ver lo que tenemos que hacer para reemplazar el valor por defecto de Java Util Registro de configuración (JUL) y usar Log4j en Tomcat. Una gran ventaja es que si una aplicación utiliza Log4j entonces podemos configurar el registro en un lugar central para la instancia de Tomcat. Y otra ventaja es que podemos utilizar nuestro conocimiento sobre la forma de configurar el registro Log4j y no tenemos que aprender extensiones de sintaxis de Tomcat para la configuración de registro de julio..



Configura el classpath

Es necesario descargar unos JAR que luego seran ubicados en el classpath del Tomcat. Se debe reemplazar la utilizacion JUL una libreria propia del Tomcat. En virtud de ello vamos a adicionar LOG4J--> LIBRERIA LOG4J en el classpath.
Tomcat provee archivo JAR que se requiere para implementar Log4j en Tomcat. Estos archivo no se distribuyen en el paquete normal del TOMCAT, por eso debemos descargar desde el sitio web  PAGINA DE DESCARGA. Desde bin/extras aqui existe dos archivos que debemos descargar: tomcat-juli.jar y tomcat-juli-adapters.jar. Debemos reemplazar el archivo tomcat-juli.jar en la carpeta $CATALINA_BASE/bin. El archivo tomcat-juli-adapters.jar debe ser copiado a la  $CATALINA_BASE/lib.
Seguidamente descargamos la libreria log4j 1.2 desde PAGINA DE DESCARGA LIBRERIA LOG4J. Debemos desempaquetar y copiar el archivo log4j-1.2.<version>.jar a la carpeta $CATALIN_BASE/lib.

Configurar Log4j

Hemos adicionado log4j y configurado en el TOMCAT, ademas hemos desactivado TOMCAT JUL, que es el sistema de log propio del tomcat. Ahorta vamos configurar en $CATALINA_BASE/conf . El nombre del archivo logging.properties debemos movelo a la carpeta $CATALINA_BASE/conf/logging.properties.jul. Tomcat no puede utilizar este archivo en virtud de ello hacemos un resplado de la configuracion anterior. Ahora procederemos a configura el nuevo archivo para utilizar el Log4j. En la carpeta $CATALINA_BASE/lib debemos crear el archivo log4j.properties. existe un ejemplo Configuracion de LOG4J en TOMCAT pero tiene algunos errores y para ello describimos mas abajo como debe quedar. Los errores se presentan en conversionPattern que no esta configurado en la propiedad layout. Aqui un pequeño ejemplo de Log4j:



log4j.debug=true
log4j.rootLogger=INFO, CATALINA, CONSOLE
# Define all the appenders
log4j.appender.CATALINA=org.apache.log4j.FileAppender
log4j.appender.CATALINA.file=${catalina.base}/logs/catalina.log
log4j.appender.CATALINA.encoding=UTF-8
log4j.appender.CATALINA.layout=org.apache.log4j.PatternLayout
log4j.appender.CATALINA.layout.conversionPattern = %d [%t] %-5p %c - %m%n
log4j.appender.CATALINA.append=true
log4j.appender.LOCALHOST=org.apache.log4j.FileAppender
log4j.appender.LOCALHOST.file=${catalina.base}/logs/localhost.log
log4j.appender.LOCALHOST.encoding=UTF-8
log4j.appender.LOCALHOST.layout=org.apache.log4j.PatternLayout
log4j.appender.LOCALHOST.layout.conversionPattern = %d [%t] %-5p %c - %m%n
log4j.appender.LOCALHOST.append=true
log4j.appender.MANAGER=org.apache.log4j.FileAppender
log4j.appender.MANAGER.file=${catalina.base}/logs/manager.log
log4j.appender.MANAGER.encoding=UTF-8
log4j.appender.MANAGER.layout=org.apache.log4j.PatternLayout
log4j.appender.MANAGER.layout.conversionPattern = %d [%t] %-5p %c - %m%n
log4j.appender.MANAGER.append=true

log4j.appender.HOST-MANAGER=org.apache.log4j.FileAppender
log4j.appender.HOST-MANAGER.file=${catalina.base}/logs/host-manager.log
log4j.appender.HOST-MANAGER.encoding=UTF-8
log4j.appender.HOST-MANAGER.layout=org.apache.log4j.PatternLayout
log4j.appender.HOST-MANAGER.layout.conversionPattern = %d [%t] %-5p %c - %m%n
log4j.appender.HOST-MANAGER.append=true
log4j.appender.CONSOLE=org.apache.log4j.ConsoleAppender
log4j.appender.CONSOLE.encoding=UTF-8
log4j.appender.CONSOLE.layout=org.apache.log4j.PatternLayout
log4j.appender.CONSOLE.layout.conversionPattern=%d [%t] %-5p %c - %m%n
# Configure which loggers log to which appenders
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost]=INFO, LOCALHOST
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/manager]=\
INFO, MANAGER
log4j.logger.org.apache.catalina.core.ContainerBase.[Catalina].[localhost].[/host-manager]=\
INFO, HOST-MANAGER

Ahora ya podemos iniciar nuestro TOMCAT utilizando mensajes de log con LOG4J.
A veces es necesario trabajo bien pero no requerimos que el archivo de configuracion Log4j  este  $CATALINA_BASE/lib sino en la carpeta $CATALINA_BASE/conf. Para ello debemos mover el archivo de configura de log5j llamado log4j.properties desde la carpeta $CATALINA_BASE/lib a la carpeta  $CATALINA_BASE/conf. Pero debemos configurar una propiedad de sistema -Dlog4j.configuration=file://$CATALINA_BASE/conf/log4j.properties cuando inicia el  Tomcat 6 y 7 se puede utilizar la variable de ambiente LOGGING_CONFIG y asignar el valor que sera utiliza por los scrips de CATALINA cuando inicie el Tomcat.
Tomado de: Configurar Log4j en Tomcat

 Que es MAVEN.
Articulo que orienta mucho sobre el tema

Como instalar Maven en Eclipse.

Configurar Eclipse para generar un JAR con librerias adicionales:


Incluir plugin FATJAR

Como incluir el plugin en Eclipse MARS


Monitorear Tcp/IP desde ECLIPSE.

Monitorear TCP/IP En Eclipse

Crear un JAR ejecutable con librerias externas.


En Eclipse ejecuto lo siguiente
Clicc en el proyecto > Runnable JAR file
Donde dice Library Handling escojo la 2da opcion:
Package required libraries into generated JAR y luego elijo Finish.

Asi los .jar necesarios son agregados a mi propio JAR y no es necesario agregarlos al classpath.

No hay comentarios: