¿Cómo ejecuto un programa Java desde la línea de comandos en Windows?

6 minutos de lectura

¿Como ejecuto un programa Java desde la linea de comandos
elizabeth turner

Estoy tratando de ejecutar un programa Java desde la línea de comandos en Windows. Aquí está mi código:

import java.io.File;
import java.io.FileInputStream;
import java.io.FileOutputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.OutputStream;

public class CopyFile
{
    public static void main(String[] args)
    {

        InputStream inStream = null;
        OutputStream outStream = null;

        try
        {

            File afile = new File("input.txt");
            File bfile = new File("inputCopy.txt");

            inStream = new FileInputStream(afile);
            outStream = new FileOutputStream(bfile);

            byte[] buffer = new byte[1024];

            int length;
            // copy the file content in bytes
            while ((length = inStream.read(buffer)) > 0)
            {

                outStream.write(buffer, 0, length);

            }

            inStream.close();
            outStream.close();

            System.out.println("File is copied successful!");

        }
        catch (IOException e)
        {
            e.printStackTrace();
        }
    }
}

No estoy seguro de cómo ejecutar el programa, ¿alguna ayuda? ¿Es esto posible en Windows? ¿Por qué es diferente a otro entorno (pensé que JVM se escribió una vez, se ejecutó en cualquier lugar)?

  • javac CopyFile.java y luego java CopyFile

    – Nir Alfasi

    22 de abril de 2013 a las 0:29

  • Ahora estoy en la línea de comando, ¿necesito guardar mis archivos txt en la misma carpeta que el programa para que se invoquen?

    – Elizabeth Turner

    22 de abril de 2013 a las 0:30

  • que paquete hace CopyFile residir

    – Programador loco

    22 de abril de 2013 a las 0:32

  • @Elizabeth Turner primero debe asegurarse de haber instalado JRE (Java Runtime Env) y de que sea accesible desde cada carpeta (la ruta a Java/Javac está incluida en la variable PATH env). Luego ejecute los comandos que escribí anteriormente desde la misma carpeta en la que se encuentra CopyFile.java.

    – Nir Alfasi

    22 de abril de 2013 a las 0:33

  • Consulta este enlace Ejecutar un programa Java desde el símbolo del sistema

    – ARJUN

    15 mayo 2016 a las 18:02

¿Como ejecuto un programa Java desde la linea de comandos
Nicolás Kadaeux

Fuente: javaindos.

Digamos que su archivo está en C:\mywork\

Ejecutar símbolo del sistema

C:\> cd \mywork

Esto hace que C:\mywork sea el directorio actual.

C:\mywork> dir

Esto muestra el contenido del directorio. Debería ver filenamehere.java entre los archivos.

C:\mywork> set path=%path%;C:\Program Files\Java\jdk1.5.0_09\bin

Esto le dice al sistema dónde encontrar los programas JDK.

C:\mywork> javac filenamehere.java

Esto ejecuta javac.exe, el compilador. No debería ver nada más que el siguiente aviso del sistema…

C:\mywork> dir

javac ha creado el archivo filenamehere.class. Debería ver filenamehere.java y filenamehere.class entre los archivos.

C:\mywork> java filenamehere

Esto ejecuta el intérprete de Java. A continuación, debería ver la salida de su programa.

Si el sistema no puede encontrar javac, verifique el comando establecer ruta. Si javac se ejecuta pero obtiene errores, verifique su texto de Java. Si el programa se compila pero obtiene una excepción, verifique la ortografía y el uso de mayúsculas en el nombre del archivo y el nombre de la clase y el comando java HelloWorld. ¡Java distingue entre mayúsculas y minúsculas!

  • El problema que tengo es que cuando trato de ejecutar el compilador aparece un error “no se pudo encontrar o cargar la clase principal CopyFile

    – Elizabeth Turner

    22 de abril de 2013 a las 0:42

  • Si tiene la carpeta que contiene CopyFile.class configurada como el directorio actual, simplemente intente “java -cp . CopyFile” De lo contrario, “java -cp FULLPATH CopyFile”

    – Nicolás Kadaeux

    22 de abril de 2013 a las 0:48

  • Lo que falta: si se declaró que la clase estaba en un determinado paquete, entonces debe poner el .class archivo en la estructura de directorio adecuada. El directorio actual es el classpath predeterminado, por lo que no tiene que configurar -cp . a mano.

    -Artur Czajka

    6 de noviembre de 2016 a las 0:51

  • Por supuesto, debería usar paquetes: paquete mipaquete; luego ve a tu nombre de proyecto/ . Ejecute java mypackage.Main

    – chirridos

    14 de agosto de 2017 a las 4:09


  • @ElizabethTurner, tuve el mismo error y fue porque había abierto la carpeta de los abuelos y usé un proyecto con paquetes locales al comienzo del código. El resultado: tenía varios proyectos en el directorio de trabajo. Si utiliza paquete [projectfoldername]; en las primeras líneas de sus archivos de código, debe usar Java [projectfoldername]\xyz.java “fuera de la carpeta del proyecto”, y con esa estructura de carpetas del paquete también ejecuta la clase después. Véase, por ejemplo, stackoverflow.com/questions/9234488/…

    – questionto42standswithUkraine

    15 mayo 2020 a las 21:18


1646759772 105 ¿Como ejecuto un programa Java desde la linea de comandos
jkhosla

Para completar la respuesta:

  1. El archivo Java

    TheJavaFile.java
    
  2. Compile el archivo Java en un archivo * .class

    javac TheJavaFile.java
    
    • Esto creará un TheJavaFile.class expediente
  3. Ejecución del Archivo Java

    java TheJavaFile
    
  4. Creación de un ejecutable. *.jar expediente

    • Tienes dos opciones aquí:

      1. Con un archivo de manifiesto externo:

        • Cree el archivo de manifiesto, digamos – MANIFEST.mf

        • El archivo MANIFEST no es más que una entrada explícita de la clase principal

        • jar -cvfm TheJavaFile.jar MANIFEST.mf TheJavaFile.class

      2. Ejecutable por punto de entrada:

        • jar -cvfe TheJavaFile.jar <MainClass> TheJavaFile.class
  5. Para ejecutar el archivo Jar

    java -jar TheJavaFile.jar
    

  • ¿Puede mostrar el contenido de MANIFEST.mf, porque cuando intento “Ejecutar por punto de entrada” dice que no se puede encontrar la clase principal?

    – Pini Cheyni

    17 de noviembre de 2015 a las 18:06

  • @Pini Cheyni Si su clase se llama MainClass, su archivo de manifiesto tendrá una entrada para Main-Class: MainClass

    – jkhosla

    25 de noviembre de 2015 a las 3:26


  • @PiniCheyni, Las 2 formas de crear jars ejecutables se explican bien aquí. docs.oracle.com/javase/tutorial/deployment/jar/appman.html

    – Dinesh Kumar P.

    27 de septiembre de 2016 a las 5:39


  • en el punto 3, cuando llamas java TheJavaFile eso es equivalente a java TheJavaFile.class.. así que no estás ejecutando el archivo java como dijiste. estás ejecutando el archivo de clase. Los archivos java son fuentes que no son ejecutables.

    – usuario2914191

    3 de febrero de 2019 a las 13:35


1646759773 437 ¿Como ejecuto un programa Java desde la linea de comandos
Harshad Holkar

En caso de que su clase Java esté en algún paquete. Supongamos que su clase de Java se llama ABC.java está presente en com.hello.programsentonces debe ejecutarlo con el nombre del paquete.

Compílalo de la forma habitual:

C:\SimpleJavaProject\src\com\hello\programs > javac ABC.java

Pero para ejecutarlo, debe dar el nombre del paquete y luego el nombre de su clase Java:

C:\SimpleJavaProject\src > java com.hello.programs.ABC

  • funciona para java 8

    – srghma

    13 de febrero a las 17:15

1646759774 318 ¿Como ejecuto un programa Java desde la linea de comandos
Paresh3489227

compilar un archivo Java para generar una clase:

javac filename.java

Ejecutar la clase generada:

java filename

Desde Java 11, java La herramienta de línea de comandos ha podido ejecutar un código fuente de un solo archivo directamente. p.ej

java HelloWorld.java

Esta fue una mejora con JEP 330: https://openjdk.java.net/jeps/330

Para obtener detalles sobre el uso y las limitaciones, consulte el manual de su implementación de Java, como uno proporcionado por Oracle: https://docs.oracle.com/en/java/javase/11/herramientas/java.html

1646759775 233 ¿Como ejecuto un programa Java desde la linea de comandos
YakovK

Suponiendo que el archivo se llame “CopyFile.java”, haga lo siguiente:

javac CopyFile.java
java -cp . CopyFile

La primera línea compila el código fuente en un código de bytes ejecutable. La segunda línea lo ejecuta, agregando primero el directorio actual a la ruta de clases (por si acaso).

¿Como ejecuto un programa Java desde la linea de comandos
eliza helena

Es fácil. Si ha guardado su archivo como A.text, lo primero que debe hacer es guardarlo como A.java. Ahora es un archivo Java.

Ahora necesita abrir cmd y establecer la ruta a su archivo A.java antes de compilarlo. puedes referirte esta para eso.

Luego puedes compilar tu archivo usando el comando

javac A.java

Luego ejecútalo usando

Java A

Así es como compilas y ejecutas un programa Java en cmd. También puedes pasar por estos material eso es Java en lecciones profundas. Muchas cosas que necesita entender en Java están cubiertas allí para principiantes.

¿Ha sido útil esta solución?

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Configurar y más información
Privacidad