Criando um Jar no eclipse

13 respostas
G

Olá pessoal!!!

Estou com um problema básico para criar um jar no eclipse.

na realidade, quando eu rodo o meu jogo no eclipse, ele executa normalmente, mas quando eu mando ele rodar pelo jar, ele não encontra ao arquivos (imagens e objetos 3d) que estão numa pasta dentro da pasta do projeto. A pasta que contém os arquivos, aparece no jar, mas ele não consegue achar quando eu mando rodar pelo .BAT. Eu não sei se é alguma coisa que eu esqueci de add no eclipse ou sei lah…abaixo, estou listando o que tem dentro do meu .BAT:

java -Djava.library.path="./libs/lwjgl/" -cp .;data;libs/soeoe.jar;libs/jme/jme.jar;libs/jme/jme-awt.jar;libs/jme/jme-model.jar;libs/jme/jme-terrain.jar;libs/jme/jme-sound.jar;libs/jme/jme-effects.jar;libs/lwjgl/lwjgl.jar;libs/lwjgl/jinput.jar;libs/lwjgl/jorbis-0.0.12.jar;libs/lwjgl/jogg-0.0.5.jar;libs/lwjgl/lwjgl_fmod3.jar; main.Main

o jar soeoe.jar, é o jar que eu criei, o resto são de um framework que eu utilizo pra criar jogos…Oq eu poderia estar fazendo de errado?

Valeu a atenção!
Gamer

13 Respostas

B

Ola,

Pergunta: vc ta recuperando as imagens usando o getResource() da classe java.lang.Class?

Pq quando vc usa a aplicacoa via jar ela espera que as imagens, recursos, estejam no seu classpath, ou se vc esta recuperando via file… ae e dependente de plataforma…

Manda um exemplo de como ta as coisas no diretorio de projeto do eclipse, e como fica no jar, pra gente dar uma ajuda…

G

Opa, e ai Bruno! Valeu a atenção…

Cara, seguinte, eu estou pegando o caminho das imagens e tudo mais via getResource(). Algo como:

A hierarquia de pasta no projeto (dentro da workspace)esta assim:
soeoe(pasta com o nome do projeto) ->
->data(onde tem os arquivos)
->input (pacote)
->Controllers(pacote)
-> e assim por diante…só pacotes

A hierarquia de pasta no jar esta assim:
soeoe.jar ->
-> data
-> e os pacotes…

O que eu deveria colocar no classpath…ou melhor, como eu coloco, o que eu coloco e onde?

Por favor, desculpe tanta pergunta, é que eu to desde sexta a noite tentando e não consigo… :lol:

Valeu a atenção!!!
Thiago

B

Ola

Bom, vc nao precisa fazer isto via classloader, pode fazer da main mesmo… assim:

Main.class.getResource(…

Outra, quando vc usa o getResource tem que mandar a url, entao sempre comece com uma “/”, entendeu??

Teste ae…

G

Opa!!!

valeu a resposta rápida…mas agora, nem diretamente no eclipse tah rodando…antes rodava…Alguma coisa a mais que eu tenha esquecido?

Thiago

PS: Outra pergunta:

Eu não entendo como o eclipse trata as pastas de dentro do projeto…Por exemplo: se eu copiar e colar a pasta data de outro lugar pra dentro do meu projeto, as vezes, ele trata elas como pastas, as vezes como pacotes…e tem um lance no biuld path que é add class folder, eu não sei direito como colocar a pasta “data” dentro do projeto pra que ele a trate somente como pasta(folder)…

B

Ola,

Bom, coloque a pasta “data” dentro da pasta “src” que o eclipse coloca os codigos, de um refresh no projeto e tente rodar novamente… vai funcionar…

Pra o eclipse nao achar que uma pasta e um pacote nao coloque-a dentro do “src”…

G

Bah, Bruno…desculpa a minha ignorância, mas que pasta “src” que tu tah dizendo?

Valeu!!!
Thiago

B

A pasta que o eclipse cria quando vc cria um projeto java, e la que ele coloca os codigos que ele vai compilar…

Mas se vc nao a tem, crie uma pasta resource, na raiz do seu projeto, depois vc mova a pasta “data” para dentro desta, apos vc vai nas propriedades do projeto, e diga que a pasta resource tb e uma pasta de arquivos do projeto, assim:

properties do projeto->java build path-> source-> add folder.

G

Bah, Bruno…to me sentindo muito burro, mas agora tah rodando no eclipse, mas o meu jar não tah funcionando ainda…Coloquei a imagem do eclipse aqui, pra ver se tem algo de errado…

Valeu a atenção!!!
Thiago

G

Ah! Outra coisa, não sei se tem haver…a unica coisa q estah indicada no “manifest” é a class Main…não deveria ter algo mais dentro? E se precisar, como eu coloco?

Valeu pessoal pela atenção!!!
Thiago

G

Eu encontrei o meu erro estúpido…Eu criei arquivos com nome em maiúsculas e quando eu chamava o getResource(), eu tentava pegar os arquivos passando o caminho todo em minúscula…Aff!!!

Por favor, não fiquem que nem eu procurando um erro idiota como esse!!!

Grande Abraço a todos!!!

B

Ola,

po, que bom que vc achou o erro sozinho… eu so tive tempo de ver seus pots agora… foi mal pela ausencia…

G

E ai Bruno!!!

Capaz, tu ajudou um monte…Só tenho a agradecer!!!

Valeu a atenção!!!
Thiago

B

Valeu vei… a gente ta ae pra isto… se precisar denovo pode mandar.

Criado 30 de julho de 2006
Ultima resposta 1 de ago. de 2006
Respostas 13
Participantes 2