[RESOLVIDO] Problemas em rodar .jar

E aí galera. É o seguinte, acabei de fazer uma espécie de banco em swing. Mas na hora de rodar o jar executável eu to tendo alguns problemas…
Ao dar um java -jar Banco_IFSC.jar aparece isso:

Exception in thread “main” java.lang.UnsupportedClassVersionError: br/com/bancoifsc/gui/PainelInicial : 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)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:334)
Could not find the main class: br.com.bancoifsc.gui.PainelInicial. Program will exit.

ja tentei fazer de tudo e ainda nao consegui arrumar… se alguém puder me ajudar eu agradeço

Parece ser algo relacionado à versão do Java que você está utilizando na hora de executar… é a mesma versão que você usou quando programou?

Bom dia chittolina!

não sou muito expert em jars, mas observando a sua pilha de exceção, notei que na ultima linha tem a seguinte informação:

“Could not find the main class: br.com.bancoifsc.gui.PainelInicial. Program will exit.”

Pelo que me parece, o Manifest do seu jar não define a “Main-Class” ou está apontando para um pacote diferente.

Tente abrir o seu arquivo Manifest e busque pela linha:

Main-Class: br.com.bancoifsc.gui.PainelInicial

se não houver uma linha começando com Main-Class, então a inclua no manifest e gere um novo jar, mas caso ela exista, verifique se sua classe PainelInicial está contida no pacote br.com.bancocoifsc.gui

provavelmente você mudou o pacote da classe e esqueceu de atualizar o manifest

Dá uma olhada no artigo do Samuel Mota
http://www.guj.com.br/articles/42

lá tem um trecho muito bom, que explica melhor o que estou querendo dizer, procure por esse trecho:

[quote]JAR executável
Para poder tornar o arquivo JAR como um executável devemos adicionar o atributo Main-Class ao manifesto. O valor desse atributo deve ser o nome completo da classe, incluindo a package a que ele pertence, que contenha o método public static void main(String[] args) isto é, que seja o ponto de entrada da nossa aplicação. No exemplo deste artigo, supondo que classeA seja o ponto de entrada para minha aplicação o manifesto deverá conter:

Main-Class: br.com.guj.artigoJAR.classeA

Como os sistemas operacionais associam o .jar ao java, um duplo clique em um JAR que contém essa propriedade irá ter o mesmo efeito de chamar a tal classe tendo este jar como classpath. Isso dá a impressão de que esse jar é “executável”.[/quote]

Mas dê preferencia por ler o artigo inteiro, está muito didático!!!

o problema tava na versão, como o Roger falou. Não tinha nem passado isso pela minha cabeça, valeu aí! Obrigado pela atenção de vcs

Só mais uma coisa, como eu faço pra saber a versão do meu compilador no netbeans?

Clique com o botão direito em cima da pasta raiz do seu projeto e vá em “propriedades”, na categoria “Códigos-fonte” procure por uma campo chamado: “Formato código-fonte/binário” ai é só escolher a opção de JDK que desejar :smiley: e por padrão, ela já vem selecionada a opção que vc está usando para aquele projeto.
Ou se preferir, vá ao menu Ferramentas > Plataformas Java e lá vc vai saber qual a plataforma java que o netbeans usa por Padrão e vai poder adicionar mais plataformas também e definir uma outra como padrão para novos projetos!

obs.: meu netbeans é o 7.1.1, se o seu for de uma versão muito anterior, algo pode estar ligeiramente diferente, mas é nessa mesma linha de raciocínio de procurar nas propriedades do projeto ou no menu Ferramentas.

[quote=thiagof]Clique com o botão direito em cima da pasta raiz do seu projeto e vá em “propriedades”, na categoria “Códigos-fonte” procure por uma campo chamado: “Formato código-fonte/binário” ai é só escolher a opção de JDK que desejar :smiley: e por padrão, ela já vem selecionada a opção que vc está usando para aquele projeto.
Ou se preferir, vá ao menu Ferramentas > Plataformas Java e lá vc vai saber qual a plataforma java que o netbeans usa por Padrão e vai poder adicionar mais plataformas também e definir uma outra como padrão para novos projetos!

obs.: meu netbeans é o 7.1.1, se o seu for de uma versão muito anterior, algo pode estar ligeiramente diferente, mas é nessa mesma linha de raciocínio de procurar nas propriedades do projeto ou no menu Ferramentas.
[/quote]

Valeu pela ajuda!