O JRE no Kubuntu não permite que eu execute o arquivo .jar

2

Estou tendo problemas ao tentar executar um aplicativo .jar no Kubuntu. Eu criei um aplicativo no NetBeans no Windows e o compilei em um arquivo .jar. Primeiro o Windows não conseguiu encontrar a classe principal. Eu procurei na internet e fixei alguns valores de registro para o JRE e tudo funciona bem agora. No entanto, o mesmo problema surgiu no Kubuntu, mas não consigo encontrar nada de ajuda. Eu até tentei descompactar o arquivo .jar e modificar o caminho da classe no arquivo de manifesto com muitos endereços de caminho diferentes, mas nada funciona.

Como o problema no Windows estava no JRE e não no meu aplicativo, acho que o mesmo acontece no Kubuntu. Uma observação importante é que também instalei o NetBeans no Kubuntu e, quando depuro ou executo o aplicativo no NetBeans, ele funciona bem, mas quando eu o compilo e tento executá-lo com:

java -jar "MBoxTest.jar"

Recebo os mesmos erros que recebi no Windows, incluindo o último, que diz que não é possível encontrar a classe 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.
    
por Michael 13.07.2012 / 05:36

1 resposta

4

Você está executando um código de versão superior ( 51 = java7 ) em relação à JVM de versão inferior. Portanto, compile e execute seu código com a mesma versão do jdk. Eu acho que você pode ter mais de uma versão do Java Runtime instalado.

    
por 13.07.2012 / 05:42

Tags