Executável em JAVA para Windows

Programação Java

Moderadores: 51, guest2003

Executável em JAVA para Windows

Mensagempor Escatopholes » 08 Jun 2010 10:34

Pessoal, eu comecei a desenvolver um sistema em JAVA e agora ele está mais ou menos funcionando, porém sempre que eu vou executá-lo em Windows eu preciso primeiro carregar a máquina virtual.

A pergunta é: É possível geral um executável (.exe) para execução no Windows totalmente independente da máquina virtual JAVA?

Eu imagino que deveria ser um executável similar ao que se obtém compilando um programa em C Builder.
Escatopholes
Bit
 
Mensagens: 9
Registrado em: 01 Jun 2010 07:20

Mensagempor Francesco » 08 Jun 2010 10:37

Os sistemas em Java, como o Eclipse por exemplo, normalmente tem um executável que inicia a máquina virtual e chava o arquivo JAR para executar.
Esse executável que chama tudo pode ser feito em C, C++, ou mesmo em Delphi.

No java não é possível gerar um "executável", pois ele é feito para funcionar "multi-plataforma". Dessa forma, sempre e sempre você vai precisar da máquina virtual.

No entanto, se quiser fazer seu sistema java ser "independente", dê uma olhada neste link: http://portableapps.com/apps/utilities/java_portable_launcher

Francesco
Avatar do usuário
Francesco
Word
 
Mensagens: 699
Registrado em: 04 Mar 2008 00:22
Localização: São Paulo - SP

Mensagempor ivan » 09 Jun 2010 10:46

É possível geral um executável (.exe) para execução no Windows totalmente independente da máquina virtual JAVA?

Não

Porque a linguagem Java foi pensada com o conceito WORA(write once run anywhere), ou seja, uma aplicação uma vêz escrita em Java, teoricamente, rodaria integralmente em qualquer plataforma. Isso só não é verdade para a as questões de apresentação, uma vêz que a interface na Web é uma, nos PCs outra e nos dispositivos móveis outra, nos mobiles o problema é ainda maior por causa da diversidade de dispositivos.
Este conceito, o WORA, é implementado através da JVM que esta sim é compilada para o ambiente nativo. Então, o compilador Java gera um código descrito como BYTE CODE que é interpretado pela JVM.

O que normalmente se faz é criar um arquivo .BAT que chama a JVM através de uma linha de comando ou, até mesmo, cria-se um .EXE que faz o mesmo papel do .BAT.
"A mente que se abre a uma nova idéia jamais volta ao seu tamanho original." (Albert Einstein).
Avatar do usuário
ivan
Word
 
Mensagens: 618
Registrado em: 12 Out 2006 21:27

Mensagempor Francesco » 09 Jun 2010 11:08

Um executável é bem mais elegante que um BAT... vide sistemas grandes em Java.
Avatar do usuário
Francesco
Word
 
Mensagens: 699
Registrado em: 04 Mar 2008 00:22
Localização: São Paulo - SP

Mensagempor ivan » 09 Jun 2010 15:51

Creio que a questão não seja só a "elegância". Ao executar a JVM a partir de um .exe será criado um processo filho que terá algumas restrições que a execução a partir de um .BAT pode não ter. Como exemplo de startup a partir de um .BAT temos:

- Servidor Apache(qdo não configurado como serviço)
- MySQL (idem acima)
- Servidor Tomcat - escrito em Java(idem acima)

Devem haver outras considerações técnicas a serem levadas em conta além da "elegância", mas não vou fazer nenhuma pesquisa a respeito para ampliar a discussão e criar uma polêmica a respeito.
"A mente que se abre a uma nova idéia jamais volta ao seu tamanho original." (Albert Einstein).
Avatar do usuário
ivan
Word
 
Mensagens: 618
Registrado em: 12 Out 2006 21:27

Mensagempor Francesco » 09 Jun 2010 16:00

Ivan, por outro lado o seu código fica fechado. Isso porque não seria apenas "chamar" a JVM, mas verificar se ela está instalada, funciona, verificar a integridade de algum arquivo de sistema, etc. Coisas que um BAT não faria.

Um exemplo de sistemas assim são...

Thunderbird
Eclipse
OpenOffice
Sunbird

Não vejo dificuldade em se criar uma executável.
Avatar do usuário
Francesco
Word
 
Mensagens: 699
Registrado em: 04 Mar 2008 00:22
Localização: São Paulo - SP

Mensagempor ivan » 10 Jun 2010 12:21

Desculpe,

...código fica fechado...

A meu ver desnecessário, a menos que tenha questões de segurança como o têm o IRPF e o ReceitaNet. Mesmo assim, qq editor hex abre a chamada e outras coisas +... Montar dinamicamente os parâmetros de uma chamada system, em C, ou usando API do Ruindows só pra escondê-la, bem... nem se fala.

...verificar se ela(JVM) está instalada, funciona...

Um arquivo BAT faz!

...verificar a integridade de algum arquivo de sistema...

O próprio sistema em Java deve fazer isso

Como disse anteriormente, na minha opinião só vale a pena a criação de um .exe se houverem outras considerações técnicas.
Mas respeito a sua opinião Francesco.
"A mente que se abre a uma nova idéia jamais volta ao seu tamanho original." (Albert Einstein).
Avatar do usuário
ivan
Word
 
Mensagens: 618
Registrado em: 12 Out 2006 21:27

Mensagempor Francesco » 10 Jun 2010 12:29

Ivan, você me entendeu mal... não estou desfazendo de sua opinião. Seria muita hipocrisia minha, uma vez que me iniciei no DOS e fiz muito uso de arquivos BAT.

Apenas acho que o executável fica mais elegante... no final, quem vai decidir a melhor opção vai ser o 'Escatopholes'.

Desculpa aí qualquer coisa.
Avatar do usuário
Francesco
Word
 
Mensagens: 699
Registrado em: 04 Mar 2008 00:22
Localização: São Paulo - SP

Mensagempor _blackmore_ » 28 Nov 2011 15:03

Faz pouco tempo, passeando pela net eu baixei um programinha que deveria rodar em java, mas o bixo precisava que fosse rodado um .EXE para que as configurações necessárias fossem verificadas e instalado o software no SO.
Agora me digam po favor, como fazer um executável para realizar a função de instalação de algum pqno aplicativo em java? Que linguagem e software pode ser utilizado?
Ouça mais classic rock
_blackmore_
Dword
 
Mensagens: 1397
Registrado em: 28 Set 2008 13:26

Mensagempor tcpipchip » 28 Nov 2011 15:58

Tem varios...mas muitos parados...nao atualizados...

Aqui é um link bom para tirar tuas duvidas...e veja TOOLS no final

http://www.excelsior-usa.com/articles/java-to-exe.html

TCPIPCHIP
Avatar do usuário
tcpipchip
Dword
 
Mensagens: 6560
Registrado em: 11 Out 2006 22:32
Localização: TCPIPCHIPizinho!

Re: Executável em JAVA para Windows

Mensagempor nagkiller » 25 Set 2018 19:32

Apesar de o tópico ser antigo e o autor provavelmente já tenha tido sua solução, segue um exemplo de programa que converte java em EXE, utilize o Launch4j:

http://launch4j.sourceforge.net/

Para instalar sua aplicação, se desejar criar um instalador, utilize o Inno Setup:

http://jrsoftware.org/isinfo.php

Flw...
Nagkiller
Avatar do usuário
nagkiller
Bit
 
Mensagens: 40
Registrado em: 21 Jul 2007 09:38


Voltar para Java

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante

cron

x