Gerar executável

11 respostas
F

Pessoal, achei que era uma pergunta básica mas pelo visto não é, ou pelo menos a galera do Básico não respondeu precisamente…

Como faço para gerar executável de um programa Java ??

//Fábio

11 Respostas

A

Oi,

Desculpe a demora da resposta, mas é porque nessa época todo mundo esta viajando, inclusive eu. :stuck_out_tongue:
Bom, aconselho voce a visitar o site abaixo e ir na secao
NATIVE COMPILERS, la voce vai encontrar compiladores gratuitos e outros pagos.
Particularmente eu nunca gerei .EXE a partir de JAVA mas tenho alguns colegas que ja fizeram.
Voce vai perder a portabilidade do codigo, e em questao de performance, as vezes tambem nao vale a pena.

http://www.geocities.com/marcoschmidt.geo/jcomp.html#native

Tambem dou uma dica!
Compre a JavaMagazine deste mes e leia a materia PERFORMANCE EM JAVA, se voce este eh o motivo de voce querer gerar executaveis para o seu programa.
[ ] ´s

A

O JET é pago, porem existe uma versao que é a “personal” que é free.
A Interface é simple e parece ser bem amigável.
http://www.xlsoft.com/en/products/development/jet/jetpersonal.html

R

Em java não existe linkedição, temos o conceito de pacote (package) . Uma classe que executa sua aplicação deve ter o método

public static void main(String[] args){}

coloque tudo em um arguivo .JAR e nele um manifest indicando qual a classe que executa sua aplicação.
Outras soluções como criar um .bat no Windows ou um .sh no Linux, ou um script Ant para executar sua aplicação também são muito praticadas.

A

É, isso que o Richardson disse é verdade. A própria Sun é contra todos esses compiladores estáticos (entenda-se que geram .EXE). Os compiladores que eu te passei sao produtos de terceiros e nao vem com o JSDK.
O que nos fazemos com aplicacoes client, é instalar o JRE na maquina do usuario final e inserir alguns .bat ou .cmd como scripts de inicializacao.

Se a aplicacao for Stand Alone entao ela precisara da assinatura que o Richardson disse:

public Class Teste
public static void main (String a[] ) {
  System.out.println("Teste");
  }
{

E para compilar:
javac Teste.java
E para rodar:
java Teste

Esses dois ultimos passos podem ser substituidos por algum produto que gera .EXE que te falei nas msgs acima.
[ ] s

Rafael_Steil

A portabilidade do codigo fonte nao eh perdida, o que eh perdido eh a portabilidade do binario. Para cada plataforma voce teria que gerar um binario, mas o sourcecode de qualquer maneira eh o mesmo.

O gcc-java, para Unix, eh um bom exemplo. Em alguns testes que fiz o programa executou 5 vezes mais rapido, e a carga do sistema foi menor tambem. O gcc-java tem um esquema de garbage collector ( o que muitos para windows nao tem ), o que nao fica de tao mal. O problema eh que eh relativametne trabalhoso compilar sistemas grandes, e rodar Servlets somente com o Tomcat inteiro recompilado com o gcc-java… tmb nao suporta totalmente aplicacoes graficas atualmente, mas tudo leva a crer que vai chegar num nivel muito bom.

Como o pessoal ja disse antes, nao eh recomendavel gerar executaveis. Lembre-se que alguns conceitos em Java sao um pouco diferentes de linguagens normais.

Rafael

F

Quando eu gerar o executável, gero somente da classe que contém a

public static void main (String args[])

ou gero também das outras classes ??

Outra pergunta… e se alguém quiser descompilar uma classe isso é possivel ? independente de gerar ou não o executável…

Valeu
//Fábio

IvoD

“Fábio Boschetti Campos”:

Outra pergunta… e se alguém quiser descompilar uma classe isso é possivel ? independente de gerar ou não o executável…

Valeu
//Fábio


descompilar o codigo fonte do java tem como sim…
vb tem, no asp tem, varios tem…
tudo e possivel…
so basta querer…
eu to vendo q o seu problema e alguem pegar o seu fonte…
e nao ficar mais rapido ou outro motivo…

richardpeder

Fabio:

mais uma vez peço o seu e-mail com as suas duvidas sobre executaveis em java e essas coisas ai que vc esta com duvida…faço isso o dia inteiro na minha empresa e acredito que possa te ajudar.

espero resposta ([email removido])

ate

F

Richard,

Desculpa a demora em responder… Meu mail é [email removido] se vc tiver alguma coisa sobre como gerar executável pode me enviar que vou ficar agradecido.

Valeu.

Fábio

richardpeder

Fabio:

Assim que eu tiver um tempo, elaboro um tutorial e te mando ok?

vc tem pressa??

ate mais

V

Já entendi que não se pode (ou melhor, não se deve) criar executável e peguei um tutorial para fazer o .jar. Além do .jar o que mais o usuário do meu programa deve ter? E como posso disponibilizar para ele?

Criado 30 de dezembro de 2002
Ultima resposta 8 de ago. de 2005
Respostas 11
Participantes 7