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

Dúvida no Ex. 1 da Aula 2 - Jar e Javadoc

Gerar o .jar foi muito facil.

Mas não estou conseguindo ler o arquivo, quando tendo abrir da uma msg de erro. "Erro: Não foi possível localizar nem carregar a classe principal c:\Users\Desktop\Desktop\programa banco\Programa Banco.Jar

Pq ele não esta achando a classe ?

13 respostas

Oi Leonardo,

Na hora de gerar o jar você deve ter esquecido de selecionar a classe principal. Tem um campo chamado Main class que deve ser preenchido se você quiser executar o jar.

Abraço!

Esqueci não, coloquei a classe main. E para testar gerei outro jar com uma outra classe main.

Tenta gerar o jar novamente, vai que foi algum bug do eclipse.

Apareçe algum erro ao tentar abrir? Ou simplesmente não abre?

Ele abre e fecha muito rápido.Dando print na tela eu consegui ver o erro. Fala que a classe principal, minha classe onde está o main, não foi encontrada.

Você tentou gerar novamente? Coloca o código da classe que você marcou como main.

Ele abre e fecha pois não tem ponto de parada, ele abre executa e termina a execução.

Tenta gerar novamente.

Aqui está o meu codigo Principal.

package br.com.empresa.banco.banco;

import br.com.empresa.banco.conta.Conta;
import br.com.empresa.banco.conta.ContaCorrente;
import br.com.empresa.banco.conta.ContaPoupanca;
import br.com.empresa.banco.restante.Mostra;

public class Principal {
    public static void main(String[] args) {
        Conta c = new ContaCorrente();
        c.setNome("Leo");
        c.setNumero(1);
        c.deposita(1000.00);

        Conta cc = new ContaCorrente();
        cc.setNome("Gui");
        cc.setNumero(2);
        cc.deposita(1000.00);

        Conta cp = new ContaPoupanca();
        cp.setNome("3");
        cp.setNumero(547);
        cp.deposita(1000.00);

        Mostra atm = new Mostra(0.01);
        atm.roda(c);
        atm.roda(cc);
        atm.roda(cp);


    }
}

Tentei gerar de novo e foi o mesmo resultado.

Ele gera o jar sem problema, mas não roda. Faz alguma diferença em qual pasta eu salvo o jar ?

Oi Leonardo,

não há nenhum System.out.println nesse código, correto? Ou eles estão dentro da classe Mostra?

Ainda assim, é o que o Leonardo respondeu: ele deve estar rodando certinho, mas ele fecha o terminal assim que acabou de rodar. Como isso acontece muito rápido, não dá pra ler.

Pra ver isso, na última linha do main, tente colocar um Thread.sleep(3000); pra ele parar por 3 segundos aberto, antes de terminar.

Vou colocar essa linha de código então.

O system.out.print estão dentro do roda.

solução!

Então galera, muito obrigado pela ajuda. Mas eu não estou conseguindo achar o problema, como isso não vai me atrapalhar agora eu vou continuar meu caminho na trilha Java. Se pra frente, mesmo com novos conhecimentos, eu não conseguir resolver, eu peço ajuda de novo.

Obrigado mesmo assim.