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.