Tengo un archivo MyFirstProgram.java que contiene dos clases. Me acaba de modificar la ruta de acceso y trató de probar el archivo con java
y javac
.
public class MyFirstProgram{
public static void main(String[] args){
System.out.println("Hello ! World :)");
}
}
Sin embargo, me vuelve:
C:\Users\antoi\Documents\Programming\Julien>java MyFirstProgram.java
Error: Could not find or load main class MyFirstProgram.java
C:\Users\antoi\Documents\Programming\Julien>javac MyFirstProgram.java
'javac' is not recognized as an internal or external command,
operable program or batch file.
Aquí es el Camino:
Sólo funciona cuando llamo javac directamente en la carpeta:
C:\Users\antoi\Documents\Programming\Julien>"C:\Program Files\Java\jdk-11.0.2\bin\javac" MyFirstProgram.java
C:\Users\antoi\Documents\Programming\Julien>java MyFirstProgram
Error: A JNI error has occurred, please check your installation and try again
Exception in thread "main" java.lang.UnsupportedClassVersionError: MyFirstProgram has been compiled by a more recent version of the Java Runtime (class file version 55.0), this version of the Java Runtime only recognizes class file versions up to 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(Unknown Source)
at java.security.SecureClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.defineClass(Unknown Source)
at java.net.URLClassLoader.access$100(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.misc.Launcher$AppClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at sun.launcher.LauncherHelper.checkAndLoadMain(Unknown Source)
Sin embargo, no se puede mostrar el mensaje java
y pone de manifiesto que hay una UnsupportedClassVersionError
. Yo entiendo de otros mensajes es mi ejecución de Java y Medio ambiente para los javac
que podría no estar de acuerdo con el java
comando. Cuáles son los pasos a seguir para que pueda imprimir el mensaje Hello World?
Por lo tanto, el problema es que se está compilando con la javac
de JDK 11, y luego tratar de correr con Java 8. Desde la java.exe de %JAVA_HOME%\bin
que se está recogido antes C:\Program Files\Java\jdk-11.0.2\bin
. Y, supongo que no puede encontrar javac
debido a que ha añadido C:\Program Files\Java\jdk-11.0.2\bin
a la ruta, sin necesidad de reiniciar su cáscara, que medio que no se vuelve a cargar el camino.
Para resolver esto, usted debe quitar la C:\Program Files\Java\jdk-11.0.2\bin
entrada de la ruta, y luego actualizar la JAVA_HOME
variable de entorno a punto a C:\Program Files\Java\jdk-11.0.2
su lugar. A continuación, reinicie su concha y se debe recoger C:\Program Files\Java\jdk-11.0.2\bin
expandió de %JAVA_HOME%\bin
.