Imagem não aparece quando crio o jar

15 respostas
V

Ja procurei varias coisas, tentei todas as soluções que encontrei e não consegui

Eu chamo as imagens da seguinte forma:

Elas funcionam quando eu rodo no eclipse, mas quando crio o jar da erro de NullPointerException, ou coisa parecida

Obrigado

15 Respostas

V

Verifique se as letras maiúsculas e minúsculas estão idênticas. O eclipse roda a partir do sistema de arquivos, que não é case sensitive. Mas o .jar é.

V

Sim, estão corretas. =/

V

O nome entre as / deve ser do pacote onde a imagem está. Esse, deve ser um pacote da sua aplicação, iguais aos que ficam os códigos fonte.

Não pode ser simplesmente uma pasta no projeto.

E as imagens também devem ser inseridas no interior do seu .jar

V

Sim, estão em pacote e tambem estão no jar…

poderia ser pq no pacote está souce.cartas e eu coloquei source/cartas, como se fosse uma pasta?

V

Não, esse é o jeito correto mesmo.
Estranho ele não estar achando suas imagens. Aparentemente está tudo certo.

O nullpointerexception ocorre pq o getResource retorna null quando não acha o recurso. E você passa esse null para dentro do ImageIcon, que dispara a exception.

V

Outra coisa estranha é que se eu compilar manualmente pelo DOS, e executar o Class, roda normal tb. Mas no jar não.

Tem alguma coisa a ver com Manifest e/ou Classpath?

V

A única coisa que precisa é que a imagem esteja dentro do seu classpath. Você pode me enviar o seu .jar?

V

Posso.

Eu criei direto pelo Eclipse/netbeans, e no manifest o Classpath só tem um .

Qual o seu email para mandar?

V

Anexa aqui no GUJ mesmo, clicando no botão attachments.

V

Aqui está o arquivo

V

Eu vi que você deixou as pastas no pacote default (sem pacote). Essa não é uma boa abordagem.
Tente coloca-las num pacote qualquer.

E certifique-se que sua pasta está dentro do classpath da sua aplicação. Você está usando alguma IDE?

V

Sim, ja tentei com o Eclipse e o NetBeans…

Vou tentar colocar em outro pacote e ver se funciona

V

Consegui resolver o problema…

Obrigado pela ajuda, mas o problema é muito mais simples do que eu pensava. Eu chamava uma imagem cuja extensão estava em PNG, com letras maiusculas da seguinte forma: “/source/deck.png”

E era isso que estava dando erro. Eu mudei para PNG e parou

Agora está funcionando normalmente. Obrigado

V

Ué, foi a primeira coisa que pedi para vc verificar. :shock:

V

Eu sei. Eu tinha verificado só os nomes dos pacotes e arquivos, nem tinha reparado nas extensões

Mas depois que eu vi que tava PNG, eu lembrei desse comentario na hora. Brigadão

Criado 10 de dezembro de 2010
Ultima resposta 12 de dez. de 2010
Respostas 15
Participantes 2