Como criar um arquivo executável

Bom pessoal, eu uso o net bens para programar então gostaria de saber como faço apos ter criado um programa no jframe ,eu conseguir gerar o seu executável , mostrando na area de trabalho , para quando precisar acessar o programa basta dar um click!

por favor me ajudem…agradeço.

Oi,

A extensão do executável em java é .jar.

Para cria-lo no netbeans.:

http://www.guj.com.br/posts/list/40462.java

E no eclipse.:

http://www.guj.com.br/posts/list/137494.java

Tchauzin!

Entendi , obrigadão!!

Se o seu tópico foi respondido e você está satisfeito, segue:

  • Pressione o botão de seu primeiro post
  • Acrescente no final do título a tag [RESOLVIDO]

:smiley:

Posso fazer mais outra pergunta…
ja fazendo …entãO

assim copiei aquela pasta “dist” para a pasta raiz “C” do meu computador, em seguida entrei nela e enviei para area de trabaho o arquivo .jar. Então executou normal o programa. Mas queria saber o que é necessario salvar do programa em um pendrive para que ele funcione em outros computadores. E tbem para funcionar o requisito necessario é ter o java instalado no pc?

desculpa encomodar…

    poxa se não for pedir muito, vc tem msn para ficar bem mais facil a conversação.(entende perfeitamente se não quiser mandar, sei que ja é pedir muito...agradeço desde já)

Oi,

Qualquer computador que tiver o JAVA instalado (Claro que com a mesma versão do seu jar ou superior) irá funcionar.
Ou então basta ter a pasta do JRE (Java Runtime) na maquina.

Você poderá coloca no seu pen-driver o seu aplicativo .jar, a pasta jre e um arquivo .bat

Neste arquivo .bat, você faz.:

set path_old=%path% set path=C:\Jre6\bin;%path% java -jar suaaplicacao.jar set path=%path_old% set path_old= :exit

Em set path você deverá colocar o caminho onde irá jogar a pasta JAVA (é claro).

Ou então, você simplesmente poderá fazer no seu .bat:

C:\jre6\bin\java -jar suaaplicacao.jar

Obs.: Nâo tenho msn…

Tchauzin!

Boa tarde a todos.

Só mais um esclarecimento conceitual a todos.

Pra começar, o Java não gera arquivos executáveis. Como é que é :?:

Mas quando eu clico em cima de um arquivo com a extensão “*.jar” o Java não executa ele :?:

A resposta é sim, isto porque com as novas versões das IDES (NetBeans e Eclipse), permitem que o Sistema Operacional peguem arquivos com a extensão “.jar" e os associem ao compilador Java cuja versão do JDK esteja instalada em sua máquina, em outras palavras, é exatamente clicar em cima de um arquivo de documento do Word e ele abrir o Word cuja versão do Office esteja instalada em sua máquina. Antigamente voce teria que executar o arquivo ".jar” invocando o compilador Java através do prompt do DOS.

Quer fazer um teste :?: Desinstale o JDK de sua máquina e depois clique em cima de uma arquivo “*.jar”, se ele executar, então ele é um arquivo executável, caso contrário, não.

Diferença de aplicações executáveis e aplicações interpretadas. (Compilação X Interpretação)

As linguagens que eu conheço que geram e geravam executáveis são: Basic, Cobol, Clipper, C, o Pascal, e seus derivados C++, C# e Object Pascal do Delphi, ou seja, o compilador destas linguagens não precisam ser instalados nas máquinas clientes onde irão rodar, pois eles são auto interpretáveis pelo sistema operacional onde foi desenvolvido.

Já o Java que é uma das linguagens Interpretadas, as outras não lembro agora, é também um linguagem híbrida, ou seja, é tanto compilada quanto interpretada pelo seu compilador, e a diferença entre compilação e interpretação está ai, na compilação, ele só transforma em código objeto intelegível a máquina, podendo ser binário ou não, já a interpretação, a medida que ele vai compilando cada linha de código, vai executando na hora, ou seja é uma compilação e execução ao mesmo tempo, a medida que ele vai lendo cada linha.

E isto que faz o Java seja multiplataforma, em primeira mão ele compila o seu código fonte em um código binário universal chamado de ByteCode, acho que isto todo mundo já está cansado de saber, só que à este código não são anexadas as bibliotecas do sistema operacional (Linkedição), se não, não seria multiplataforma. Depois o bytecode é interpretado em cada sistema operacional da máquina com a versão do JDK específica para aquele sistema operacional instalado, fazendo com que o Java seja multiplataforma.

Compilação X Linkedição.

Pouca gente sabe, somente aqueles que já programaram em Cobol, C, Clipper e até mesmo no Pascal antigo sabem o que estou dizendo.

Para tornar um arquivo executável, primeiro o código fonte era transformado (compilado) em um código objeto cuja máquina entendia, após a compilação, o desenvolvedor teria que Linkeditar (Anexar) o código objeto as bibliotecas do sistema operacional, invocando programas como RTLink, Link, PLink86 e etc., bibliotecas do sistema onde exatamente o código fonte foi desenvolvido, criando assim o arquivo executável, tornando-o independente do compilador, entretanto a aplicação era monoplataforma.

É claro que o Delphi que utilza o Object Pascal, faz tudo isto de uma tacada só, onde fazia crer aos novos desenvolvedores que a compilação já consistia em criar o código executável, quando na verdade ele fazia as duas operações ao mesmo tempo.

Em meados de 2000, o Delphi 7 incorporou as bibliotecas do Kylix, para desenvolvimento de aplicações para rodar em Linux, entretanto, era necessário escolher em que biblioteca desenvolver para gerar uma aplicação monoplataforma.

Já o Java inovou quando criou a sua linguagem multiplataforma com o slogam “Make once run everywhere (Faça uma vez, rode em qualquer lugar)”, construindo um compilador híbrido (Compilação e Interpretação), cujo mecanismo de execução já for abordado acima.

Espero ter ajudado e acrescentado ao conceito de voces.

Caso tenha escrito alguma coisa errado, aceito críticas construtivas, pois estou aqui também para aprender.

discorpio, primeiramente lhe parabenizo por discernir seus conhecimentos.

Quem faz essa associação é o SO e não as IDE’s, o JDK na sua instalação apenas fornece essas informações para o SO, essa associação ficam nos registros do SO.

Apenas complementando, isso só acontece pois VM (Virtual Machine(Maquina Virtual)) do Java cria uma camada de abstração em cada SO, para dai então interpretar.

Me corrijam se disse algo errado. :smiley:

Boa tarde, sou eu de novo.

Valeu Malhuco, já está anotado e corrigido em meus alfarrábios.

Na verdade quando disse IDEs, estava com o JDK na cabeça, não sei o que me fez pensar em NetBeans então eu mudei para IDE.

Obrigado por corrigir e compartilhar informação.

Respondido . Agradeço muito pelas respostas. fiquem com Deus. Obrigado.

Aproveitando o tópico.

Quando se trata de imagens que inseri no pragrama? Tipo ícones. Quando gero o .JAR, e o excecuto, roda beleza, mas não aparece nenhuma imagem.
Qual procedimento a tormar?

[quote=Lucas Emanuel]Aproveitando o tópico.

Quando se trata de imagens que inseri no pragrama? Tipo ícones. Quando gero o .JAR, e o excecuto, roda beleza, mas não aparece nenhuma imagem.
Qual procedimento a tormar?[/quote]

Oi,

As imagens estão dentro do jar?

Como você fez para chama-las de dentro do programa?

Tchauzin!

[quote=discorpio]Boa tarde a todos.

Só mais um esclarecimento conceitual a todos.

Pra começar, o Java não gera arquivos executáveis. Como é que é :?:

Mas quando eu clico em cima de um arquivo com a extensão “*.jar” o Java não executa ele :?:

[/quote]

Oi,

A classe Main-Class faz com que o .jar se torne um executável.

"Um executável ou arquivo executável, em informática, é um arquivo em que seu conteúdo deve ser interpretado como um programa por um computador.

Normalmente, eles possuem a representação binária das instruções de máquina de um processador específico, mas podem conter também uma forma intermediária que podem ser necessários serviços de um interpretador para executar." http://pt.wikipedia.org/wiki/Execut%C3%A1vel

O sistema operacional associa o .jar ao java, e se o mesmo estiver no Classpath e ter um jdk instalado a impressão será a mesma de um arquivo executável de extensão exe.

Ou estou errada?

As opiniões são diversas, porém na minha percepção um arquivo de extensão jar pode ser considerado um arquivo executável.

Tchauzin!

[quote=lina]
Oi,

A classe Main-Class faz com que o .jar se torne um executável.

"Um executável ou arquivo executável, em informática, é um arquivo em que seu conteúdo deve ser interpretado como um programa por um computador.

Normalmente, eles possuem a representação binária das instruções de máquina de um processador específico, mas podem conter também uma forma intermediária que podem ser necessários serviços de um interpretador para executar." http://pt.wikipedia.org/wiki/Execut%C3%A1vel

O sistema operacional associa o .jar ao java, e se o mesmo estiver no Classpath e ter um jdk instalado a impressão será a mesma de um arquivo executável de extensão exe.

Ou estou errada?

As opiniões são diversas, porém na minha percepção um arquivo de extensão jar pode ser considerado um arquivo executável.

Tchauzin![/quote]

Bom dia,

Acho que o conceito de interpretação e execução estão sendo confundidos. Eles devem ser levados em conta sobre as Linguagens Compiladas, e as Linguagens Interpretadas.

  • Linguagem Compilada: só será possível através de uma linguagem de maquina(Linguagem de Baixo nível), que serão compiladas estaticamente, especificas para aquela maquina, Pascal, C, C++…
  • Linguagem Interpretada: seria o conceito de uma linguagem intermediária(Linguagem de Alto nível), que será especifica para cada Linguagem, e será interpretada, somente pela Maquina Virtual compatível de sua linguagem: JAVA, Python… Por isso no procedimento de interpretar, a VM faz a tradução dos comandos da linguagem intermediária para linguagem de máquina. Sendo assim, em tempo de execução, o código intermediário pode ser encarado como um ?código fonte? que será compilado dinamicamente pelo interpretador da linguagem em código de máquina.
    Ao se construir um Jar, a unica maquina que entende, interpreta ele, é a Maquina Virtual Java. Como fora dito anteriormente a VM Java cria uma camada de abstração em cima de Cada SO.
    Imaginem pegar um exe gerado para windowns e colocar no Linux, o que vai acontecer? Ele continuará sendo executado? Será interpretado?
    Ou então pegue um jar gerado no Windows e coloque no Linux, o que vai acontecer? Ele continuará sendo executado? Será interpretado?

Outra coisa, quando damos dois cliques em cima de um jar, como foi dito anteriormente, o SO(Por exemplo o Windows) interpreta como se fosse abrir um arquivo, e isso esta descrito no chave do registro:

[quote][HKEY_CLASSES_ROOT\jarfile\shell\open\command]
“C:\Arquivos de programas\Java\jre6\bin\javaw.exe” -jar “%1” %*[/quote]

Que é praticamente o que fazemos por promt de commando, “java -jar Meujar.jar”, claro que assim só funcionará se as variaveis de ambiente estiverem devidamente configuradas.

Bom, conceitos pra la, conceitos pra cá… Humildemente, me corrijam se digitei algo errado. :smiley:

[quote=lina][quote=Lucas Emanuel]Aproveitando o tópico.

Quando se trata de imagens que inseri no pragrama? Tipo ícones. Quando gero o .JAR, e o excecuto, roda beleza, mas não aparece nenhuma imagem.
Qual procedimento a tormar?[/quote]

Oi,

As imagens estão dentro do jar?

Como você fez para chama-las de dentro do programa?

Tchauzin![/quote]

SeIcon apontando para caminho

Bom, eu gerei meu jar, mais a pasta com as imagens do meu projeto não estão sendo carregadas.

Como eu faço pra carrega-las?

aquii…
http://www.guj.com.br/posts/list/122610.java
tem uma boa discussão e explica isso.

Se não entender volta ai que ajudamos… :smiley:

ja resolvi aqui, o problema era o caminho onde estava as imagens!

quando estava no eclipse era esse: img/java.png
quando gerei o executavel eu copiei para c:/img/java.png e apontei para o mesmo

noobisse minha!

falo