PCJ Sesión 10: Development

Post on 23-Jun-2015

1.303 views 2 download

Transcript of PCJ Sesión 10: Development

PCJ: Proyecto Certifícate en Java

Sesión 10Development

Domingo Suárez Torres

@domixdomix

DISCLAIMER

El contenido del curso se obtuvo del libro de certificación

No hay mucho por ver, algunas opciones

NO estoy certificado <-- OJO

OBJETIVOS

Uso de paquetes e imports

Determinar comportamiento en tiempo de ejecución para clases y linea de comandos

Usar clases en archivos JAR

Usar CLASPATH para compilar

OBJETIVOS DE LA CERTIFICACIÓN

Usar los comandos 'javac' y 'java'

COMPILAR CON 'JAVAC'

Javac [options] [source files]

Fuentes

Binario

Varios pasos en el proceso

OPCIONES DE ‘JAVAC’

Por omisión el compilador escribe los archivos ‘.class’ en el mismo directorio del ‘.java’

Es buena practica poner los ‘.class’ en un directorio diferente

La opción ‘-d’ nos permite definir el directorio destino de los ‘.class’

¡¡A trabajar!!

CÓDIGO FUENTE

http://github.com/synergyj/pcjDevClass

http://github.com/synergyj/pcjDevClass/zipball/master

DISTRIBUCIÓN

INSTRUCCIONES LAB01

Usar una Terminal

Entrar en el directorio lab01/src

Ejecutar el comando:

Observar la distribución generada

javac -d ../classes org/javamexico/pcj/dev/UnaClase.java

DISTRIBUCIÓN GENERADA

EJERCICIO

Compilar para Java 1.4, 1.5 y 6

Usar la opción ‘-source’ y ‘-target’

EJECUTAR APLICACIONES

Usamos el comando ‘java’ una vez que las clases están ya compiladas

Es importante entender las opciones ‘-classpath’ o ‘-cp’ y ‘-D’

Ejecución

INSTRUCCIONES LAB02

Usar una Terminal

Entrar en el directorio lab02

Ejecutar el comando:

Ejecutar la aplicación

Ser feliz :D

javac -d classes src/org/javamexico/pcj/dev/UnaClase.java

java -cp classes/ org.javamexico.pcj.dev.UnaClase

DEFINIENDO PROPIEDADES

Ejecutar la aplicación definiendo algunas propiedades

java -Djug=javaMexico -cp classes/ org.javamexico.pcj.dev.UnaClase

java -DjugDes="java Mexico" -cp classes/ org.javamexico.pcj.dev.UnaClase

CLASSPATH: DETALLES

El orden de definición importa

No es lo mismo que

Cuidado :)

Paquetes

PAQUETES

El nombre completamente calificado de la clase incluye el paquete

El nombre de la clase, solo es un alias

INSTRUCCIONES LAB03

Usar una Terminal

Entrar en el directorio ‘lab03/src’

Ejecutar el comando:

Ejecutar la aplicación en ‘lab03’

Ser feliz :D

javac -d ../classes/ org/javamexico/pcj/dev/UnaClase.java

java -cp classes/ org.javamexico.pcj.dev.UnaClase

EJERCICIO

En el directorio del lab03

Limpiar el directorio de ‘classes’

Cambiar la clase Persona de la clase UnaClase

Observar el resultado

jars

JARS

Son archivos con formato ZIP para mantener juntos una serie de clases ‘.class’ y recursos necesarios, ‘.xml’, ‘.properties’, ‘.png’

JAR significa Java ARchive

Tienen el formato ZIP

Sirven para poder distribuir mas fácilmente las aplicaciones

COMANDO ‘JAR’

Muy parecido al ‘tar’ de UNIX

INSTRUCCIONES LAB04

Usar una Terminal

Entrar en el directorio ‘lab04/src’

Ejecutar el comando:

Empacar la aplicación desde ‘lab04’

Ser feliz :D

javac -d ../classes/ org/javamexico/pcj/dev/UnaClase.java

jar -cf elJar.jar -C classes/ org

STATIC IMPORTS

Son una mejora introducida en Java 5

Para simplificar el uso de tipos y métodos estáticos

¿Tiempoextra?

¿Alguna pregunta?

¿Aburrido?

Suerte en el examen

Gracias y sean felices

CREDITOS DE FOTOS

http://bit.ly/a3exkh

http://bit.ly/9r1Gdo

http://bit.ly/andLD3

http://bit.ly/cNlrHB

http://bit.ly/deRCZQ

http://bit.ly/ac0ibE

http://bit.ly/aKqh3q

http://bit.ly/90ru9v

http://bit.ly/b7pdtd

http://bit.ly/9oxgJ6

http://bit.ly/a7I71y

http://bit.ly/criJbB

http://bit.ly/9Y9IfW