.jar não funciona

Olá pessoal,

Tentei criar um arquivo .jar conforme os artigos/tópicos que li aqui no fórum, mas não consegui de jeito nenhum, portanto peço ajuda.

Minha aplicação contém os seguintes diretórios:

arquivos - arquivos que uso na aplicação (.property, .dat)
classes - todas as classes da minha aplicação (.class)
fontes - arquivos fonte (.java)
imagens - imagens que uso na aplicação (.jpg)

Agradeço a ajuda.

Como está seu manifest ?

Igualzim ao tópico fixo postado no fórum, mas já tentei outros vários que não resolveram.

Vlw

Opa,

faz o seguinte vá o prompt e dê o seguinte comando quando chegares à pasta raiz do teu projeto:

jar cfv nomeDoTeuJar.jar nomeArquivo.property nomeArquivo.dat arguivos/. imagens/. classes/.

:okok:

[quote=“marcossousa”]Opa,

faz o seguinte vá o prompt e dê o seguinte comando quando chegares à pasta raiz do teu projeto:

jar cfv nomeDoTeuJar.jar nomeArquivo.property nomeArquivo.dat arguivos/. imagens/. classes/.

:okok:[/quote]

Não deu certo, essa mensagem, após executar o comando que vc falou, deu o erro:
Invalid or corrupt jarfile ST.jar

Já tinha recebido a mesma mensagem antes, tentando de outra forma…

vamos ver, seu manifest tem que estar assim…Main-Class: classes.ClassePrincipal Name: classes/ClassePrincipal.class Java-Bean: True
pelo Dos dentro do diretorio principal do projeto você faz

jar cfm NOME_DO_ARQUIVO.jar manifest.txt classes*.*

Para criarmos o arquivo executável jar, é preciso que o diretório ?bin? do J2SDK esteja no PATH do Sistema Operacional.

[quote=“maluquo1”]vamos ver, seu manifest tem que estar assim…Main-Class: classes.ClassePrincipal Name: classes/ClassePrincipal.class Java-Bean: True
pelo Dos dentro do diretorio principal do projeto você faz

jar cfm NOME_DO_ARQUIVO.jar manifest.txt classes*.*

Para criarmos o arquivo executável jar, é preciso que o diretório ?bin? do J2SDK esteja no PATH do Sistema Operacional.[/quote]

Olha só, fiz exatamente como você falou, apenas trocando o final por …classes/. senão da erro e recebi esse erro:

[quote]Exception in thread “main” java.lang.NoClassDefFoundError: classes/Hipodromo (wrong name: Hipodromo)
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:620)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$100(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:268)
at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)[/quote]

A classe do main é Hipodromo mesmo.

a primeira linha das tuas classes tao com o “package classes” ??

Renato, ajuda se você descrever o que fez, passo-a-passo.

Pergunta boba, mas você compilou e não deu erro? O erro é só na hora de executar o jar???

Salve,

se ele compilou pelo prompt não dá erro mesmo não, mas quando ele vai empacotar é verificado se a estrutura dos pacotes está correta aí surge o erro.

:okok:

Sim a compilação foi na linha de comando.
Eu não coloquei o package nas classes, talvez tenha sido isso, mas de qualquer maneira, creio que vai dar erro na hora de empacotar as imagens e arquivos. Bom, não tive tempo de testar as dicas, vou ver mais tarde e posto a resposta.

Vlw

[quote=“marcossousa”]Salve,

se ele compilou pelo prompt não dá erro mesmo não, mas quando ele vai empacotar é verificado se a estrutura dos pacotes está correta aí surge o erro.

:okok:[/quote]Mas tem como dar erro sim. Se ele tentar compilar da pasta onde está a classe ao invés de um diretório antes dá problema por causa dos package.