EXECUTAVEL -o coisa difícil!

21 respostas
C

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!!!

21 Respostas

Rafael_Steil

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

C

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

Rafael_Steil

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

C

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?

Rafael_Steil

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

C

Obrigado!!!
Vou testar.

C

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!!!

cezbatistao

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]

cezbatistao

me desculpe é SEM colchetes !!!

:twisted: CarloxXx

E

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!

richardpeder

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,

C

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:

chaos

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

V

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

felipe.grillo

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

F

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>

Boa tarde … estive tentando fazer o jar como explicou …

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

A

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

rafaelviny

vivianalmeida: google

so da uma olhadinha la que vc acha
abs

D

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

felipehts

só instalar o java, endereço: http://www.java.com/pt_BR/download/chrome.jsp?locale=pt_BR&host=www.java.com

clique em: “Baixar o Java 6 Update 20”.

Com o arquivo .jar na máquina o programa irá funcionar…boa sorte !

L

O topico é antigo mas vale a tentativa hahaha

Quando executo meu programa no eclipse todas as imagens aparecem lindamente… rs

mas quando gero o Jar, as imagens nao aparecem… tenho que colocar a pasta de imagens no mesmo local do Jar… Alguem ja enfentou esse problema?

Criado 21 de novembro de 2002
Ultima resposta 27 de mar. de 2011
Respostas 21
Participantes 14