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)
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]
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.
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.