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
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
Oi,
Desculpe a demora da resposta, mas é porque nessa época todo mundo esta viajando, inclusive eu.
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
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
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.
É, 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
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
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
[quote=“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[/quote]
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…
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 (lordhck@bol.com.br)
ate
Richard,
Desculpa a demora em responder… Meu mail é fboschetti@uol.com.br se vc tiver alguma coisa sobre como gerar executável pode me enviar que vou ficar agradecido.
Valeu.
Fábio
Fabio:
Assim que eu tiver um tempo, elaboro um tutorial e te mando ok?
vc tem pressa??
ate mais
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?