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 escribía una vez, se ejecutaba en cualquier lugar)?
javac CopyFile.java
y luegojava CopyFile
CopyFile
reside?Respuestas:
Fuente: javaindos.
fuente
.class
archivo en la estructura de directorios adecuada. El directorio actual es el classpath predeterminado, por lo que no tiene que configurarlo-cp .
manualmente.Para completar la respuesta:
El archivo Java
Compile el archivo Java en un archivo * .class
TheJavaFile.class
archivoEjecución del archivo Java
Creación de un
*.jar
archivo ejecutableTienes dos opciones aquí:
Con un archivo de manifiesto externo:
Cree el archivo de manifiesto say - 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
Ejecutable por punto de entrada:
jar -cvfe TheJavaFile.jar <MainClass> TheJavaFile.class
Para ejecutar el archivo Jar
fuente
java TheJavaFile
eso es equivalente ajava 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 ejecutablesEn caso de que su clase Java esté en algún paquete. Supongamos que su clase Java llamada
ABC.java
está presente encom.hello.programs
, entonces necesita ejecutarla con el nombre del paquete.Compílalo de la forma habitual:
Pero para ejecutarlo, debe dar el nombre del paquete y luego el nombre de su clase java:
fuente
Complete un archivo Java para generar una clase:
Ejecute la clase generada:
fuente
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 referir esto para eso.
Luego puedes compilar tu archivo usando el comando
Luego ejecútalo usando
Así es como compila y ejecuta un programa java en cmd. También puede revisar este material que es Java en lecciones de profundidad. Hay muchas cosas que debes entender en Java para principiantes.
fuente
Puede compilar cualquier fuente de Java utilizando javac en la línea de comandos; por ejemplo, javac CopyFile.java. Para ejecutar: Java CopyFile. También puede compilar todos los archivos java usando javac * .java siempre que estén en el mismo directorio
Si tiene un problema resultante de "no se pudo encontrar o cargar la clase principal", es posible que no tenga jre en su camino. Eche un vistazo a esta pregunta: no se pudo encontrar o cargar la clase principal
fuente
Suponiendo que el archivo se llama "CopyFile.java", haga lo siguiente:
La primera línea compila el código fuente en código de byte ejecutable. La segunda línea lo ejecuta, primero agrega el directorio actual a la ruta de clase (por si acaso).
fuente
Desde Java 11, la
java
herramienta de línea de comandos ha podido ejecutar un código fuente de un solo archivo directamente. p.ejEsta 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 el proporcionado por Oracle: https://docs.oracle.com/en/java/javase/11/tools/java.html
fuente
En Windows 7 tuve que hacer lo siguiente:
de manera rápida
largo camino
Esto probablemente se rompe cuando actualiza su instalación de JDK, pero ahora tiene acceso a todas las herramientas de línea de comandos.
Siga los comentarios anteriores sobre cómo compilar el archivo ("javac MyFile.java" y luego "java MyFile") https://stackoverflow.com/a/33149828/194872
fuente
PASO 1: ABRA PRIMERO EL INICIO DE MANDO DONDE SE ENCUENTRA SU ARCHIVO. (haga clic derecho mientras presiona shift)
PASO 2: LUEGO USE LOS SIGUIENTES COMANDOS PARA EJECUTAR. (digamos que el nombre del archivo y la clase que se ejecutará se denomina Student.java) El programa de ejemplo está en el fondo de la imagen.
fuente
A partir de Java 9, el JDK incluye
jshell
un REPL de Java.Suponiendo que el
bin
directorio JDK 9+ se haya agregado correctamente a su ruta, podrá simplemente:jshell File.java
-File.java
siendo su archivo, por supuesto.main
método:jshell> File.main(null)
./exit
La documentación completa para JShell se puede encontrar aquí .
fuente
Ahora (con JDK 9 en adelante), puede usar java para ejecutarlo. Para ejecutar "Hello.java" que contiene el main, se puede usar: java Hello.java
Ya no necesita compilar usando javac por separado.
fuente