EXECUTAVEL -o coisa difícil!

Tenho o programa na extensão .jar e gostaria de saber como criar um executável,para quando clicar nele executar o programa.Sempre programei em Delphi, os executáveis são simples de fazer é só compilar o programa e já gera…Como por DEUS eu faço em JAVA!!!
Peço ajuda por favor!!!

Voce simplesmente nao faz, pq java nao trabalha com formatos executaveis… Voce precisa do JRE instalado nas maquinas onde a apicacao vai rodar… Ha, contudo, certos aplicativos q tentam fazer algo parecido, mas nao conheco um que realmente funciona. Depois, o teu programa ficaria dependente de plataforma…

Rafael

Então como faço para rodar um programa em java em outra máquina?

Tal maquina precisa ter instaldo o JRE ( Java Runtime Environment ), nada alem disso… ( logico que precisa dos arquivos da tua aplicacao… os .jar ou os .class )… vc executa usando o comando “java” ou “javaw” ( este ultimo somente para windows )

Rafael

Ok, estou pegando o JRE para tentar rodar na outra máquina.
Só mais uma pergunta,na minha maquina programas que pego pra testar e ver o código fonte,programas estes .jar ,abrem o programa quando click no arquivo e os que eu faço não.Por que será isso?

antes de mais nada, .jar nao eh executavel… eh um arquivo .zip normal com as extensao mudada… o que acontece eh que no windows tal tipo de arquivo eh mapeado para o programa “javaw.exe”, oque leve mta gente a achar que JAR eh executavel…

Abra um desses arquivos com o winzip e veja o aruiqvo manifest.mf … dentro dele mto provavelmente devera ter uma linha onde diz “main-class”… isso especificao qual eh a classe principal do programa… por isso que qdo vc executa os jars de outros funciona e qdo tenta com o sue, nao… se quiser, eh so fazer um manifest.mf parecido :slight_smile:

Rafael

Obrigado!!!
Vou testar.

O meu DEUS… eu entrei no manifest e apareceu isso tudo aqui:

Manifest-Version: 1.2
Name: Client_Ser228467162001.zip
Java-Bean: False
Digest-Algorithms: SHA MD5
SHA-Digest: lFbFopfJHccqJ5vXvSfWiMJxzPs=
MD5-Digest: HTDjCl8LdX8DdYt8OvFm7Q==

Name: open.gif
Java-Bean: False
Digest-Algorithms: SHA MD5
SHA-Digest: wipwZbV29gJma/MU3D4sgcZHHd4=
MD5-Digest: S8arJ2BHwBiHbV9mSbTJNQ==

Name: delete.gif
Java-Bean: False
Digest-Algorithms: SHA MD5
SHA-Digest: EkRgehloDfGSwzCen+iv+Wa/Si8=
MD5-Digest: n0ne6PQi4s01uG7Op6HUXA==

Name: dukeMagnify.gif
Java-Bean: False
Digest-Algorithms: SHA MD5
SHA-Digest: aEEl4NAMBViDLxoHkO9UXDTJmsE=
MD5-Digest: QCW3YAQbVNc9csSfSLpoOw==

Name: undo.gif
Java-Bean: False
Digest-Algorithms: SHA MD5
SHA-Digest: YtEcdN++JASbAkpZW+yBbQsMh3s=
MD5-Digest: 2zvKj47pKFjZ+d3j64yWPQ==

Name: Pacote1/teste.class
Java-Bean: False
Digest-Algorithms: SHA MD5
SHA-Digest: GT7wqUVv5yrWH47a14Y249O4gss=
MD5-Digest: CQu2EN1Wk4trOA5XOMJd7Q==

Name: dukeWave.gif
Java-Bean: False
Digest-Algorithms: SHA MD5
SHA-Digest: KSCo5tz+34xknHODjOXxY9GYNWo=
MD5-Digest: CUKyo1ScdbmV2Fnhhl0jNA==

Name: up.gif
Java-Bean: False
Digest-Algorithms: SHA MD5
SHA-Digest: vqEnfOv0d+NzgXferoIli7oPhhI=
MD5-Digest: QD88yuECrmHA5EH77OWPOw==

Name: paste.gif
Java-Bean: False
Digest-Algorithms: SHA MD5
SHA-Digest: y/B8ZKmoSmmRPP6AQ1VU+U1pA/c=
MD5-Digest: yYpse6nS48ezjv58xjjJIg==

Name: Pacote1/teste.java
Java-Bean: False
Digest-Algorithms: SHA MD5
SHA-Digest: Vm7mkaqeUuV127SeCQqsUpYoGA8=
MD5-Digest: h+RkXlpNfnmnKJUEqPzXFA==

Name: Pacote1/teste$1.class
Java-Bean: False
Digest-Algorithms: SHA MD5
SHA-Digest: 2JKXWKp+tG/RzeCSww69zLUzCCE=
MD5-Digest: foZSmAlcFqrD8H6liQfgLg==

Name: add.gif
Java-Bean: False
Digest-Algorithms: SHA MD5
SHA-Digest: J9j/dm5n317xvP8blgNa50e/rNI=
MD5-Digest: VXfJ11J92UlJt+zr6elM8A==

Name: dukeSnooze.gif
Java-Bean: False
Digest-Algorithms: SHA MD5
SHA-Digest: OR2iEJwiwMLza/89f6Kagz3kzoU=
MD5-Digest: wkRl7WkBtiIOKtiPaDCWgg==

Name: Pacote1/
Sealed: True

Name: Pacote1/teste$IvjEventHandler.class
Java-Bean: False
Digest-Algorithms: SHA MD5
SHA-Digest: wHoLg/Me1vQF3RCwcOKIob07tik=
MD5-Digest: 9fvvk9vRtC58FHnQ5DeHRg==

Name: down.gif
Java-Bean: False
Digest-Algorithms: SHA MD5
SHA-Digest: 1hNlw1wRskjiY/tIpKOXmEKuzcs=
MD5-Digest: VUfJY463Jm4LB4BI/uWszA==

Name: cut.gif
Java-Bean: False
Digest-Algorithms: SHA MD5
SHA-Digest: OaYgEltyqPBXrEK8nna9HDWxjSo=
MD5-Digest: dIKk1LHtdtTt0jKufSeslw==

Name: save.gif
Java-Bean: False
Digest-Algorithms: SHA MD5
SHA-Digest: U72BvZdCoLTWi0wN9slJCTLVFms=
MD5-Digest: 77g3v1HESE6xTBKsFWDm1w==

Name: copy.gif
Java-Bean: False
Digest-Algorithms: SHA MD5
SHA-Digest: V8sxkBo4OO9mDFdWjUw18GGTPq8=
MD5-Digest: 5TnOraS/m3o9tUfYBxwdww==

Name: find.gif
Java-Bean: False
Digest-Algorithms: SHA MD5
SHA-Digest: +zGogNc/IC4zhhXCRZA9YzPS4mE=
MD5-Digest: 15v5m5FA6FUxGqrDMRR0NQ==

Name: applMast.gif
Java-Bean: False
Digest-Algorithms: SHA MD5
SHA-Digest: Y2ij9cdZMPI2B6XisUaTWF+1okM=
MD5-Digest: SVwX4UauhCme55zbIwlK5A==

Name: @PSC_ReadMe_2288_2.txt
Java-Bean: False
Digest-Algorithms: SHA MD5
SHA-Digest: S6zZfWNmnEdwc25lM9S8xRFdRrk=
MD5-Digest: Qt2kzOOSCLgZjAw6Iq/e9Q==

Name: cow.gif
Java-Bean: False
Digest-Algorithms: SHA MD5
SHA-Digest: XFxBwkuXx/q8jk95PiEfWC7Z6As=
MD5-Digest: WnQCy5mUadKrkS2aQUC2cQ==

Name: redo.gif
Java-Bean: False
Digest-Algorithms: SHA MD5
SHA-Digest: H5sOJvVoDiqSEgheTWoH5YyzZmQ=
MD5-Digest: pWLL0cwU1No/OB8Q4tySsA==

ONDE TENHO QUE MUDAR POR FAVOR!!!

Se vc quiser simplificar faça um aquivo como o nome MANIFEST.MF e dentro dele coloque está linha:

Main-Class: [nome da sua classe q cotenha public static void main, em colchetes]

:twisted: CarloxXx[/code]

me desculpe é SEM colchetes !!!

:twisted: CarloxXx

Olha só cara…Eu costumo usar arquivo de lote para poder repassar os programas que faço para leigos em java que não saberiam ir ao prompt e chamá-lo! Funciona se seu alvo são usuários do windows, pelo menos até o SO 2k!

Cara, aqui na minha empresa sofremos pra caramba pra aprende sobre como fazer e ate mesmo rodar um .jar. Mas vamos la, vou tentar ajuda-lo indo direto ao assunto…O que vc deve fazer???

1 - Vc sempre cria arquivos jar com os .class da sua aplicação, esqueça os .java
2 - Crie uma pasta e coloque todos os arquivos .class da sua aplicação, se tiver um arquivo, coloque ele.
3 - Depois disso entre no Bloco de Notas e crie um arquivo chamado man.txt com o seguinte conteúdo:

Main-Class: <nome da classe que contem o static void main>

4 - Salve o arquivo, lembrando que deve ser salvo na mesma pasta que contem o .class e lembrando que na frente do Main-Class no arquivo man.txt vc nao deve colocar a extensão .class e sim somente o nome do arquivo .class.
5 - Apos isso vc deve ir ate o Prompt do MS-DOS e entra na pasta que vc criou para rodar o jar, vamos usar a pasta teste como exemplo, então seu prompt ficaria assim:
c:/>teste>
6 - Então vc iria dar a seguinte linha de comando, lembrando que o que esta em <> deve ser substituido pelas especificações de sua aplicação:

c:/>teste>jar cvfm <nome do programa>.jar man.txt *.class <pastas que contenham algo que vc use em sua aplicação>

7 - Apos isso, será criado um arquivo .jar em sua pasta, no caso do exemplo, na pasta teste, dai eh soh dar dois cliques no arquivo e pronto ou senão vá ate o pormpt do dos e faça assim:

c:/>teste>java -jar <nome do programa>.jar

Obs: Esse tutorial eh valido somente para windows, não sei se funciona no Linux.

Cara, espero ter te ajudado…fazer e rodar um jar não é tão facil, mas como no java nada eh facil, criar um arquivo que execute o que vc faz no java não eh moleza tb,lembrando, como ja foi dito acima, que vc naõ esta criando um arquivo executavel, e sim um arquivo compactado com os .class seu.

Ate mais,

Obrigado pessoal, aprendi muito com a ajuda de vcs.Agradeço a todos.
E finalmente eu consegui, ou melhor nós conseguimos…hehehe
VLW!!! :smiley:

Bem, se voce quiser fazer mesmo um .exe win32, eu uso aqui o JSmooth.

Isso só no caso de gerar um .exe win32 pra facilitar a chamada do programa pelo usuário final, mas ainda tem que instalar o JRE na máquina de cada usuário…

Espero ter ajudado…

faloha

O JRE não é o SDK, né? Como faço para conseguir um?

Ai pessoal, alguem pode me dizer como usar o JSmooth, :roll:

[quote]6 - Então vc iria dar a seguinte linha de comando, lembrando que o que esta em <> deve ser substituido pelas especificações de sua aplicação:

c:/>teste>jar cvfm <nome do programa>.jar man.txt *.class <pastas que contenham algo que vc use em sua aplicação>[/quote]

Boa tarde … estive tentando fazer o jar como explicou …

mas esse comando ai … nao funciona … nao consegui fazer funcionar …
poderia exemplificar ?

Beleza, cheguei pra clarear as dúvidas ^^
no caso, vou ditar do netbeans, criar o próprio jar no código eu ainda não sei fazer kkkk
aprendi isso por acidente heh
no NETBEANS APENAS(pelo que eu saiba)
apenas aperte F11 que ele irá criar o executável
facil assim hehe, ele irá procurar o main da sua aplicação, que nornalmente é somente 1 método
e irá gerar o .JAR
e voilááá
aí está o seu executável maninho

abraços

vivianalmeida: google

so da uma olhadinha la que vc acha
abs

axo q vc quis dizer JDK né!!!
bom um é complemento do outro…
O JDK já possui todo o ambiente necessário para desenvolver e executar aplicativos em java ele já vem com uma cópia do JRE que, de repente você pode distribuir junto com sua aplicação em algum tipo de instalador ou CD, por exemplo, para seus clientes não precisarem baixar e/ou instalar o Java pessoalmente…
O JRE é o ambiente de execução Java, é o mínimo que você precisa ter instalado para poder rodar um aplicativo Java.

e pra fazer o download, vc encontra no site da SUN…
vlw