Publicado el 31 de Julio del 2017
480 visualizaciones desde el 31 de Julio del 2017
147,7 KB
15 paginas
Creado hace 18a (27/04/2007)
Detalles técnicos sobre Java
Luis Fernando Llana Díaz
Departamento de Sistemas Informáticos y Computación
Universidad Complutense de Madrid
27 de abril de 2007
Luis Fernando Llana Díaz
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
Detalles técnicos sobre Java
Variables de entorno
JAVA HOME Directorio donde está la distribución Java que
queremos usar.
CLASSPATH Directorio donde están las clases que queremos usar.
Puede haber más de un directorio separado por : en
sistemas Unix y ; en sistemas Windows.
¿Dónde se definen las variables de entorno?
Fichero /etc/environment, válidas para todo el sistema
Ficheros de configuración de la shell:
sh-Shells no login (terminales en entorno de ventanas):
/etc/bash bashrc, ~/.bashrc.
En la línea de comandos.
Scripts.
Luis Fernando Llana Díaz
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
Detalles técnicos sobre Java
Esqueleto aplicación Java I
Ficheros a nivel superior . Formato libre, ficheros de
configuración, pruebas, etc.
Directorio ./src
Código fuente de la aplicación.
Estructura de directorios debe representar la
estructuración en paquetes.
No son necesarios para la ejecución del
programa.
La clase geometria.figuraPlana.Circulo debe
estar en el fichero
./src/geometria/figuraPlana/Circulo.java
Esqueleto aplicación Java II
Directorio ./classes
Ficheros ejecutables (.class).
Estructura de directorios debe representar la
estructuración en paquetes.
Son necesarios para la ejecución del programa.
La clase geometria.figuraPlana.Circulo debe
estar en el fichero
./classes/geometria/figuraPlana/Circulo.class
La clase PrCollecion debe estar en el fichero
./classes/PrCollecion.class
Compilación
Programa $JAVA_HOME/bin/javac
~/ Java$ $ J A V A _ H O M E / bin / javac
Usage : javac < options > < source files >
where p o s s i b l e o p t i o n s i n c l u d e :
-g
-g : none
-g :{ lines , vars , source }
- nowarn
- v e r b o s e
- d e p r e c a t i o n
- c l a s s p a t h < path >
- cp < path >
- s o u r c e p a t h < path >
- b o o t c l a s s p a t h < path >
- e x t d i r s < dirs >
- e n d o r s e d d i r s < dirs >
-d < directory >
- e n c o d i n g < encoding >
- source < release >
- target < release >
- v e r s i o n
- help
-X
-J < flag >
G e n e r a t e all d e b u g g i n g info
G e n e r a t e no d e b u g g i n g info
G e n e r a t e only some d e b u g g i n g info
G e n e r a t e no w a r n i n g s
Output m e s s a g e s about what the c o m p i l e r is doing
Output source l o c a t i o n s where d e p r e c a t e d APIs are used
S p e c i f y where to find user class files
S p e c i f y where to find user class files
S p e c i f y where to find input source files
O v e r r i d e l o c a t i o n of b o o t s t r a p class files
O v e r r i d e l o c a t i o n of i n s t a l l e d e x t e n s i o n s
O v e r r i d e l o c a t i o n of e n d o r s e d s t a n d a r d s path
S p e c i f y where to place g e n e r a t e d class files
S p e c i f y c h a r a c t e r e n c o d i n g used by source files
P r o v i d e source c o m p a t i b i l i t y with s p e c i f i e d r e l e a s e
G e n e r a t e class files for s p e c i f i c VM v e r s i o n
V e r s i o n i n f o r m a t i o n
Print a s y n o p s i s of s t a n d a r d o p t i o n s
Print a s y n o p s i s of n o n s t a n d a r d o p t i o n s
Pass < flag > d i r e c t l y to the r u n t i m e system
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
Luis Fernando Llana Díaz
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
Detalles técnicos sobre Java
Máquina virtual
Programa $JAVA_HOME/bin/java
~/ Java$ $ J A V A _ H O M E / bin / java
Usage : java [ - o p t i o n s ] class [ args ...]
( to e x e c u t e a class )
or
java [ - o p t i o n s ] - jar j a r f i l e [ args ...]
( to e x e c u t e a jar file )
where o p t i o n s i n c l u d e :
- d32
use a 32 - bit data model if a v a i l a b l e
- d64
- client
- server
- h o t s p o t
use a 64 - bit data model if a v a i l a b l e
to select the " client " VM
to select the " server " VM
is a s y n o n y m for the " client " VM
The d e f a u l t VM is client .
[ d e p r e c a t e d ]
- cp < class search path of d i r e c t o r i e s and zip / jar files >
- c l a s s p a t h < class search path of d i r e c t o r i e s and zip / jar files >
A : s e p a r a t e d list of directories , JAR archives ,
and ZIP a r c h i v e s to search for class files .
-D < name >= < value >
- v e r b o s e [: class | gc | jni ]
set a system p r o p e r t y
- v e r s i o n
- v e r s i o n : < value >
enable v e r b o s e output
print p r o d u c t v e r s i o n and exit
- s h o w v e r s i o n
- jre - restrict - search | - jre - no - restrict - search
r e q u i r e the s p e c i f i e d v e r s i o n to run
print p r o d u c t v e r s i o n and c o n t i n u e
Detalles técnicos sobre Java
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
Luis Fernando Llana Díaz
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
i n c l u d e / e x c l u d e user p r i v a t e JREs in the v e r s i o n search
Compilación y ejecución a mano
El directorio ~/Java es donde tengo todo lo relacionado con la
aplicación:
Ficheros
Directorio src
Directorio classes
~/ Java$ $ J A V A _ H O M E / bin / javac - c l a s s p a t h ./ c l a s s e s - s o u r c e p a t h ./ src
-d ./ c l a s s e s - d e p r e c a t i o n - target 1.5
./ src / g e o m e t r i a / f i g u r a s P l a n a s / P a r a l e l o g r a m o . java
~/ Java$ $ J A V A _ H O M E / bin / javac - c l a s s p a t h ./ c l a s s e s - s o u r c e p a t h ./ src
-d ./ c l a s s e s - d e p r e c a t i o n - target 1.5 ./ src / P r u e b a G e o m e t r i a . java
$ J A V A _ H O M E / bin / java - c l a s s p a t h ./ c l a s s e s P r u e b a G e o m e t r i a puntos . txt f i g u r a s . txt
1
2
3
4
5
1
Luis Fernando Llana Díaz
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
Detalles técnicos sobre Java
Empaquetado de programas: jar
-c
-t
-x
-u
-v
-f
-m
-0
-M
-i
-C
~/ Java$ $ J A V A _ H O M E / bin / jar S i n t a x i s : jar { ctxu }[ vfm0Mi ] [ archivo - jar ] [ archivo - m a n i f e s t ]
O p c i o n e s :
crear nuevo c o n t e n e d o r
m o s t r a r c o n t e n i d o de c o n t e n e d o r
e x t r a e r a r c h i v o s n o m b r a d o s ( o todos ) del c o n t e n e d o r
a c t u a l i z a r c o n t e n e d o r e x i s t e n t e
g e n e r a r salida d e t a l l a d a en salida e s t á n d a r
e s p e c i f i c a r nombre de a r c h i v o c o n t e n e d o r
i n c l u i r i n f o r m a c i ó n de m a n i f e s t del a r c h i v o m a n i f e s t e s p e c i f i c a d o
solo a l m a c e n a r ; no u t i l i z a r c o m p r e s i ó n ZIP
no crear un a r c h i v o m a n i f e s t para las e n t r a d a s
g e n e r a r i n f o r m a c i ó n de índice para los a r c h i v o s jar e s p e c i f i c a d o s
c a m b i a r al d i r e c t o r i o e s p e c i f i c a d o e i n c l u i r el a r c h i v o s i g u i e n t e
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
E j e m p l o 1: para a r c h i v a r dos a r c h i v o s de clase en un c o n t e n e d o r l l a m a d o c l a s s e s . jar :
19
20
E j e m p l o 2: u t i l i z a r un a r c h i v o m a n i f e s t existente , ’ mymanifest ’ , y a r c h i v a r todos los
21
22
Si alguno de los a r c h i v o s es un directorio , se p r o c e s a r á de forma r e c u r s i v a .
Se deben e s p e c i f i c a r los n o m b r e s del a r c h i v o m a n i f e s t y del a r c h i v o c o n t e n e d o r
en el mismo orden en que se e s p e c i f i q u e n los i n d i c a d o r e s ’m ’ y ’f ’.
jar cvf c l a s s e s . jar Foo . class Bar . class
a r c h i v o s del d i r e c t o r i o foo / en ’ c l a s s e s . jar ’:
jar cvfm c l a s s e s . jar m y m a n i f e s t -C foo / .
Luis Fernando Llana Díaz
Departamento de Sistemas Informáticos y ComputaciónUniversidad Complutense de Madrid
Detalles técnicos sobre Java
Empaquetado de programas: jar
~/ Java$ cd c l a s s e s /
/ Java / c l a s s e s $ jar cvf g e o m e t r i a . jar g e o m e t r i a / P r u e b a G e o m e t r i a . class
adding : META - INF / ( in =0) ( out =0) ( stored 0 %)
adding : META - INF / M A N I F E S T . MF ( in =56) ( out =56) ( stored 0 %)
adding : g e o m e t r i a / ( in =0) ( out =0) ( stored 0 %)
adding : g e o m e t r i a / f i g u r a s P l a n a s / ( in =0) ( out =0) ( stored 0 %)
adding : g e o m e t r i a / f i g u r a s P l a n a s / Recta . class ( in =3558) ( out =1689) ( d e f l a t e d 52 %)
adding : g e o m e t r i a / f i g u r a s P l a n a s / F i g u r a P l a n a . class ( in =250) ( out =163) ( d e f l a t e d 34 %)
adding : g e o m e t r i a / f i g u r a s P l a n a s / C i r c u l o . class ( in =2630) ( out =1277) ( d e f l a t e d 51 %)
adding : g e o m e t r i a / f i g u r a s P l a n a s / S u p e r f i c i e . class ( in =346) ( out =238) ( d e f l a t e d 31 %)
adding : g e o m e t r i a / f i g u r a s P l a n a s / S e g m e n t o . class ( in =2233) ( out =1135) ( d e f l a t e d 49 %)
adding : g e o m e t r i a / f i g u r a s P l a n a s / Vector . class ( in =2675) ( out =1330) ( d e f l a t e d 50 %)
adding : g e o m e t r i a / f i g u r a s P l a n a s / P a r a l e l o g r a m o . class ( in =3990) ( out =1863) ( d e f l a t e d 53 %)
adding : g e o m e t r i a / f i g u r a s P l a n a s / Punto . class ( in =1806) ( out =884) ( d e f l a t e d 51 %)
adding : g e o m e t r i a / f i g u r a s P l a n a s / F i g u r a P l a n a I n c o r r e c t a . class ( in =273) ( out =213) ( d e f l a t e d
adding : P r u e b a G e o m e t r i a . class ( in =4968) ( out =2440) ( d e f l a t e d 50 %)
Total :
- - - - - -
( in = 22777) ( out = 13246) ( d e
Comentarios de: Detalles técnicos sobre Java (0)
No hay comentarios