JRE en Kubuntu no me permite ejecutar el archivo .jar

JRE en Kubuntu no me permite ejecutar el archivo .jar

Tengo problemas al intentar ejecutar una aplicación .jar en Kubuntu. Creé una aplicación en NetBeans en Windows y la compilé en un archivo .jar. Primero, Windows no pudo encontrar la clase principal. Busqué en Internet y arreglé algunos valores de registro para JRE y ahora todo funciona bien. Sin embargo, me ha surgido el mismo problema en Kubuntu, pero no encuentro nada de ayuda. Incluso intenté descomprimir el archivo .jar y modificar la ruta de clase en el archivo de manifiesto con muchas direcciones de ruta diferentes, pero nada funciona.

Dado que el problema en Windows estaba en JRE y no en mi aplicación, creo que ocurre lo mismo en Kubuntu. Una nota importante es que también instalé NetBeans en Kubuntu y cuando depuro o ejecuto la aplicación en Netbeans, funciona bien, pero cuando la compilo e intento ejecutarla con:

java -jar "MBoxTest.jar"

Recibo los mismos errores que obtuve en Windows, incluido el último que dice que no puede encontrar la clase principal:

Exception in thread "main" java.lang.UnsupportedClassVersionError: my/mboxtestui/MBoxTestUI : Unsupported major.minor version 51.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:634)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:277)
    at java.net.URLClassLoader.access$000(URLClassLoader.java:73)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:212)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:205)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:321)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:294)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:266)
Could not find the main class: my.mboxtestui.MBoxTestUI. Program will exit.

Respuesta1

Está ejecutando un código de versión superior ( 51= java7) contra una versión inferior de JVM. Por lo tanto, compila y ejecuta tu código con la misma versión de jdk. Supongo que es posible que tengas instalada más de una versión de Java Runtime.

información relacionada