programa paquetes linea ejemplos ejecutar desde consola compilar como comandos java command-line package classpath javac

paquetes - ejecutar.class java



Ejecutando java en el paquete desde la lĂ­nea de comandos (5)

Esto se debe a que si está declarando un paquete en su archivo java, entonces el compilador JAVA cree que tiene la misma arquitectura de carpeta en su sistema. En su caso, el compilador Java que busca One como paquete y luego test.class. O, para ser muy específico, mire dentro de su archivo .class para ver qué ruta está buscando. Por favor, eche un vistazo a la imagen de abajo (en mi caso uso Hello y Tester)

Como puede ver, la ruta en la imagen es Hello / Tester (mi ejemplo de caso), por lo que la arquitectura debería ser como Hello-> Tester.

Y si no tiene la misma arquitectura y desea crear la misma mientras compila, use el comando javacp.

He leído las preguntas publicadas anteriormente. Algunos son vagos y ninguno resolvió mi problema, así que me veo obligado a preguntar nuevamente.

Tengo dos clases simples,

package One; import One.Inner.MyFrame; public class test { public static void main(String args[]) { MyFrame f= new MyFrame(); } }

Y la otra clase es,

package One.Inner; import java.awt.*; import javax.swing.*; public class MyFrame extends JFrame { public MyFrame() { setPreferredSize(new Dimension(400,560)); setVisible(true); } }

Estoy en la carpeta base "básica" en Windows cmd. Yo compilo usando

basic> javac *.java -d .

Se crea una carpeta y una subcarpeta.

cd One basic/One> java test

Esto genera un gran conjunto de errores. Muchas respuestas dirigidas a especificar la ruta completa que no funcionó. Mis clases están en One, por lo que especificar One usando -cp tampoco funcionó.


La siguiente línea de código Haralan Dobrev resuelve el problema.

java -cp ../ one.Test


Lo ejecutarías como:

java One.Test

... pero desde el directorio raíz ( basic ), no desde el directorio One . Siempre se especifica el nombre de clase completo .

Ah, y los nombres de los paquetes en Java deberían estar en minúsculas, por lo que deberían ser one y one one.inner , no One y One.Inner . One.Inner . Solo una convención, pero que casi todos siguen.


Si el directorio es:

basic/One

Ejecute java desde el directorio base del paquete:

basic>java One.test or basic>One.test <optional arguments>

(Lo ideal sería que el paquete fuera en minúsculas y en mayúsculas):

basic>java one.Test

Si recibe mensajes de ''no existe'', entonces el comando java no puede encontrar las clases a las que hace referencia en su clase. Puede señalarlos con la opción -cp (''.'' Significa ''aquí'', y puede agregar tantos lugares como desee dividido por '';'' en Windows y '':'' en Linux).

basic>java -cp . one.Test or basic>java -cp .;../../someJar.jar;c:/someDirectory/classesDirectory one.Test


al crear una clase con un paquete, si desea ejecutarlo desde cmd, debe crear un directorio con el mismo nombre del paquete; coloque el .class en él y luego puede ejecutarlo fácilmente; por ejemplo, creó una clase con el nombre "one" y esta clase en el paquete con el paquete de nombres, debe ejecutar estos comandos

1 javac one.java
después de la compilación creó un directorio con el paquete de nombres, después de eso ejecute este comando
2 java pack.one
Nota:
todo esto debe hacerse en el directorio de trabajo actual y el nombre "uno" lo elegí aquí como nombre de archivo y nombre de clase principal. Todos sabemos que el primer nombre utilizado en el primer comando es el nombre de archivo y el segundo es el nombre de clase principal