Download - PCJ Sesión 10: Development
![Page 1: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/1.jpg)
PCJ: Proyecto Certifícate en Java
Sesión 10Development
Domingo Suárez Torres
@domixdomix
![Page 2: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/2.jpg)
DISCLAIMER
El contenido del curso se obtuvo del libro de certificación
No hay mucho por ver, algunas opciones
NO estoy certificado <-- OJO
![Page 3: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/3.jpg)
![Page 4: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/4.jpg)
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
![Page 5: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/5.jpg)
OBJETIVOS DE LA CERTIFICACIÓN
Usar los comandos 'javac' y 'java'
![Page 6: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/6.jpg)
COMPILAR CON 'JAVAC'
Javac [options] [source files]
![Page 7: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/7.jpg)
Fuentes
![Page 8: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/8.jpg)
Binario
![Page 9: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/9.jpg)
Varios pasos en el proceso
![Page 10: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/10.jpg)
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’
![Page 11: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/11.jpg)
¡¡A trabajar!!
![Page 12: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/12.jpg)
CÓDIGO FUENTE
http://github.com/synergyj/pcjDevClass
http://github.com/synergyj/pcjDevClass/zipball/master
![Page 13: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/13.jpg)
DISTRIBUCIÓN
![Page 14: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/14.jpg)
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
![Page 15: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/15.jpg)
DISTRIBUCIÓN GENERADA
![Page 16: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/16.jpg)
EJERCICIO
Compilar para Java 1.4, 1.5 y 6
Usar la opción ‘-source’ y ‘-target’
![Page 17: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/17.jpg)
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’
![Page 18: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/18.jpg)
Ejecución
![Page 19: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/19.jpg)
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
![Page 20: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/20.jpg)
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
![Page 21: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/21.jpg)
![Page 22: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/22.jpg)
CLASSPATH: DETALLES
El orden de definición importa
No es lo mismo que
Cuidado :)
![Page 23: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/23.jpg)
Paquetes
![Page 24: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/24.jpg)
PAQUETES
El nombre completamente calificado de la clase incluye el paquete
El nombre de la clase, solo es un alias
![Page 25: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/25.jpg)
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
![Page 26: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/26.jpg)
EJERCICIO
En el directorio del lab03
Limpiar el directorio de ‘classes’
Cambiar la clase Persona de la clase UnaClase
Observar el resultado
![Page 27: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/27.jpg)
jars
![Page 28: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/28.jpg)
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
![Page 29: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/29.jpg)
COMANDO ‘JAR’
Muy parecido al ‘tar’ de UNIX
![Page 30: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/30.jpg)
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
![Page 31: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/31.jpg)
![Page 32: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/32.jpg)
STATIC IMPORTS
Son una mejora introducida en Java 5
Para simplificar el uso de tipos y métodos estáticos
![Page 33: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/33.jpg)
¿Tiempoextra?
![Page 34: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/34.jpg)
¿Alguna pregunta?
![Page 35: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/35.jpg)
¿Aburrido?
![Page 36: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/36.jpg)
Suerte en el examen
![Page 37: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/37.jpg)
Gracias y sean felices
![Page 38: PCJ Sesión 10: Development](https://reader033.vdocuments.co/reader033/viewer/2022052316/5588fe7ad8b42a8d3f8b4636/html5/thumbnails/38.jpg)
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