Sie sind auf Seite 1von 8

Programación Orientada a Objetos Flores Vargas Dámaris Judith -- 2CV2

Practica 2- ClassPATH
Archivo A.java

Archivo B.java

Archivo C.java
Programación Orientada a Objetos Flores Vargas Dámaris Judith -- 2CV2

1) CLASES Y TERMINAL EN EL MISMO LUGAR


Primero juntamos en un solo directorio las clases a compilar: Desktop\Practica 2

En Símbolo del sistema, vamos al directorio de la carpeta de archivos .java y se compilara


con el comando:
javac *.java

Así se crearán los archivos .class de las clases dentro de la carpeta de los archivos .java

Para ejecutar la clase principal, en este caso la clase A, usamos el comando:


java A
Se ejecuto la clase principal:
Programación Orientada a Objetos Flores Vargas Dámaris Judith -- 2CV2

2) CLASES EN DIFERENTES DIRECTORIOS AL IGUAL QUE LA TERMINAL


Compilar clases de archivos, donde estos y la terminal se encuentran en diferente ubicación.
Recordemos que las clases dependen de otras clases para poderlas compilar, en este caso
la clase C.java es la única independiente, es decir, no necesita de otra clase para compilarse.
El archivo C.java está en nuestro escritorio.

Situamos el símbolo del sistema en la raíz C:\>.


Ubicamos a el comando javac en donde va a compilar la clase, indicamos la ruta de donde
se encuentra dicha clase, y el nombre de la clase C.java. Ejecutaremos el siguiente comando:
C:\>javac C:\Users\Acer\Desktop\C.java

Así se creó el archivo C.class en la misma dirección que el archivo C.java


Programación Orientada a Objetos Flores Vargas Dámaris Judith -- 2CV2

A continuación, compilar el archivo B.java, que se encuentra en el Escritorio en la carpeta


ESCOM\Documentos:

Esta clase depende de la clase C.class para poder ser compilada, p, para ejecutar la clase del
archivo B.java, el comando javac agregar el ClassPATH con la ruta de donde se encuentra el
archivo C.class para que B.java pueda ser compilada y a continuación la ruta de la clase que
queremos compilar, la ruta de la clase B.java separada por un espacio del ClassPATH. Con
el siguiente comando:
C:\>javac -cp C:\Users\Acer\Desktop\ C:\Users\Acer\Desktop\ESCOM\Documentos\B.java

Creará el archivo B.class en el mismo lugar donde se encuentra el archivo de B.java.

Por último, se necesita compilar la clase Principal A.java, esta se encuentra en la memoria
D: y necesita de C.class y B.class para ser compilada, se necesitara agregar las rutas de las
clases al classpath y luego de un espacio la dirección de A.java.
Programación Orientada a Objetos Flores Vargas Dámaris Judith -- 2CV2

Con el comando:
C:\>javac -cp C:\Users\Acer\Desktop\;C:\Users\Acer\Desktop\ESCOM\Documentos\ D:\A.java

Se crea el archivo A.class.

Por último, para poder ejecutar a la clase principal, la clase A.class, necesita de la clase
B.class y está ultima necesita la clase C.class, por lo tanto, agregaremos al classpath las rutas
de donde se encuentran los archivos .class de C y B y como A es la clase principal, también
se indicará la ruta de A.class y al final se indica la clase que se va a ejecutar: class A.
Comando:
C:\>java -cp C:\Users\Acer\Desktop\;C:\Users\Acer\Desktop\ESCOM\Documentos\ ;D:\
A
Programación Orientada a Objetos Flores Vargas Dámaris Judith -- 2CV2

3) CLASES EN DIFERENTES DIRECTORIOS Y EN PAQUETES CON LA TERMINAL EN DIFERENTE LUGAR.


Ahora tenemos los archivos y la terminal en diferentes ubicaciones y también cada archivo
en un paquete distinto, en el código de cada archivo debe ir indicado el paquete donde se
encuentran las clases.
La clase C, es una clase dependiente por lo tanto no necesita de ninguna otra clase para que
se pueda compilar/ejecutar, entonces si queremos colocarla en un paquete escribiremos la
palabra reservada “package” al inicio del código, seguido de las carpetas donde se localiza
esta clase. En este caso:
package vanGogh.Estrellada;

La clase B, depende de C y C está localizada en el paquete “vanGogh.Estrellada” es


necesario importar dicha clase a la clase B y esto se hace con la instrucción import seguido
del paquete donde se encuentra la clase y seguido del nombre de la clase que necesita B
para ser utilizada:
import vanGogh.Estrellada.C;
como la clase B también debe estar contenida en un paquete, al inicio del código va indicado
el paquete al que pertenece.
package MONET.Venecia;

El código de la clase A también indica el paquete donde estará contenida la clase. Como A
depende de B, también es necesario importar la clase B a la Clase A y con un import.
package Pissarro.PontNeuf;
import MONET.Valencia.B;
Programación Orientada a Objetos Flores Vargas Dámaris Judith -- 2CV2

Aquí, aunque A necesita la clase de B.java y la clase de C.java para ejecutarse no se importa
la clase C en la clase A, porque esta se importa en la clase B y por transitividad se importa
también en la clase A.

En símbolo del sistema


Abrimos el Símbolo del sistema, localizamos las rutas de las clases, que están en diferentes
paquetes. Compilamos primero a C.java que no depende de ninguna clase.
C:\>javac C:\Users\Acer\Desktop\vanGogh\Estrellada\C.java

Se crea C.class, en este caso NO se crean las carpetas que servirán como paquete, por lo
tanto, crearmos las carpetas y ponemos dentro de estas carpetas/paquete al archivo C.java
y el C.class, esto podemos hacerlo antes, al crear el hacer la implementación del código y
guardarlo.

Compilamos a B.java, y como B.java necesita de C.class la agregamos al classpath, pero solo
colocaremos la ruta hasta donde se encuentra el paquete (una vez situada la clase aquí), no
hasta donde se encuentra la clase como en el caso anterior.
C:\>javac -cp C:\Users\Acer\Desktop\ C:\Users\Acer\Desktop\ESCOM\Documentos\MONET\Venecia\B.java
Programación Orientada a Objetos Flores Vargas Dámaris Judith -- 2CV2

Se crea B.class y se deben crear los paquetes/carpetas manualmente y colocar la clase ahí.

Compilamos también la clase A:


C:\>javac -cp C:\Users\Acer\Desktop\;C:\Users\Acer\Desktop\ESCOM\DOCUMENTOS\
C:\Users\Acer\Desktop\Practica\Pissarro\PontNeuf\A.java

Se crea A.class y lo colocamos en su paquete correspondiente.

Finalmente, para ejecutar a la clase principal A, escribiremos el siguiente comando


recordando que debemos agregar al classpath el paquete donde se encuentra B y el
paquete donde se encuentra C:
C:\>javac -cp
C:\Users\Acer\Desktop\;C:\Users\Acer\Desktop\ESCOM\DOCUMENTOS\;C:\Users\Acer\
Desktop\Practica\ Pissarro.PontNeuf.A

Hay que aclarar que como la clase principal se encuentra dentro de un paquete, si
ejecutamos como ejecutamos en el ejercicio anterior, el classpath no será posible de
encontrar la clase principal, aunque le hayamos dado su ruta, es por eso que debemos de
indicarle en que paquete se encuentra.

Das könnte Ihnen auch gefallen