Solucionado (ver solução)
Solucionado
(ver solução)
7
respostas

Dúvida no Ex. 3 da Aula 3 - A IDE Eclipse

Pessoal, estou com um problema no Eclipse. Quando tento rodar a minha classe com método main, aparece a seguinte mensagem no console. Erro: Não foi possível localizar nem carregar a classe principal TestaConta

Segue a classe.

class TestaConta {
    public static void main(String[] args) {
        Conta c = new Conta();
        Conta cc = new ContaCorrente();
        Conta cp = new ContaPoupanca();

        c.deposita(1000);
        cc.deposita(1000);
        cp.deposita(1000);

        System.out.println(c.getSaldo());
        System.out.println(cc.getSaldo());
        System.out.println(cp.getSaldo());
    }
}

Eu tentei rodar a classe que foi compilada pelo eclipse e apareceu o seguinte erro:

Exception in thread "main" java.lang.UnsupportedClassVersionError: TestaConta : Unsupported major.minor version 52.0
    at java.lang.ClassLoader.defineClass1(Native Method)
    at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
    at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
    at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
    at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    at sun.launcher.LauncherHelper.checkAndLoadMain(LauncherHelper.java:482)
7 respostas

Oi Bruno, tudo bem? Estranho esse erro, não lembro de ninguém ter postado algo do tipo aqui. Mas na maioria dos casos (em que vi esse problema de compilação de calsses) foi resolvido simplesmente declarando a classe como pública.

public class TestaConta{ ... }

Faça o teste, caso o problema continue, por favor nos informe.

essa mensagem aparece quando você tenta executar uma classe usando uma JRE/JDK mais antiga do que a usada para compilar a classe. Recomendo instalar a JDK 8 ou recompilar suas classes com a JDK 7.

Wanderson, Não deu certo apenas colocar a classe como pública.

Paulo, mudei para jdk 7 e depois para jdk 8 e nada. Compilando e executando pelo eclipse permanece com o mesmo problema, agora executando via linha de comando as classes compiladas pelo eclipse com jdk 7 funciona normalmente. Creio que possa ser alguma configuração da ide.

Entendo. Eu nunca hávia visto esse tipo de erro antes, o Paulo deve estar certo quanto ao problema, mas aparentemente a solução proposta não resolveu. Se não me engano, nas propriedades do projeto eclipse, tem como você selecionar que versão do Java executa seu projeto, verifique isso, pode haver alguma coisa estranha lá...

Clique com o direito sobre o projeto eclipse, selecione propriedades e veja as confgurações.

Oi pessoal!

Bruno, o erro é pra ser esse mesmo que o Paulo falou...

Consegue me enviar o seu projeto no meu email pra eu tentar reproduzir o erro aqui e ver a solução?

O email é: lucas.sampaio@alura.com.br

Gostaria que faça um .zip do projeto, como normalmente o email não permite enviar .zip, você pode compactar e mudar a extensão para .txt por exemplo.

Qualquer problema com o envio avisa aqui. :)

Abraço!

Bruno bom dia, ja verificou seu ambiente, esta tudo certinho?

o erro passado é referente a sua config do eclipse, arrumando ela só correr pra galera rsrs,.. Bom a primeira coisa que você tem que verificar é se o seu ambiente esta tudo correto, tente atualizar para o java 8 faça um testezinho sem ser pela ide, faça um "ola mundo " no bloco de notas mesmo e compile pelo prompt, se rodar, ja saberemos que esta ok com seu ambiente java. Agora vamos para a ide, clique em window -> Java -> installed JREs, veja ali dentro pra onde esta apontando, tente apontar para dentro de seu java 8 na pasta JRE1.algumacoisa creio que isto ja ira te ajudar, qualquer coisa so chamar..

solução!

Lucas, enviei o projeto para o seu email. No eclipse eu tenho instaladas as JREs 7 e 8, porém uso a 7 como default já que nas variáveis de ambiente do meu so está configurado o java 7.