Gerando executável

Como faço para gerar um arquivo executavel para poder entregar as previas de um programa que estou gerando?

Bem vindo Brunato

A idéia do Java não é a de gerar executaveis, você pode distribuir sua aplicação em um arquivo.jar

jar cf classe1.class classe2.class

e por ai vai… obviamente, é encessária a JRE instalada na máquina cliente.

Caso você queira MESMO gerar um .exe, existem alguns softwares que fazem isto por ai (mas nao me recordo de nomes agora… os demais colegas ajudarao) mas neste caso uma das maiores vantagens do java (a portabilidade) estará sendo jogada fora…

Abraços!

Eh, nao tem muita logica e motivo criar executaveis depententes. Distribuir a JRE com aplicacao eh a solucao recomendada.

Rafael

E vale lembrar que através do manifest do arquivo JAR é possível até definir a classe “executável” (que contém o método main) do JAR, etc.
E então o arquivo pode ser associado a JVM.

P.S.: o nome do programa que gera executável é JET. O JBuilder também gera executáveis baseados do JAR, o que vai menos contra a idéia do Java.

Bom, se quiser fazer na mão só um call4j ai vai um negócio bem pedreiro que fiz:


#include <stdio.h>


    int main() {
    
        printf("Inciando... ");
        system("java -jar seuprograma.jar");
    
        return(0);
    }

Tem um port do gcc para windows que acompanha um IDE
http://www.bloodshed.net/

Compile com ele

:mrgreen:

Pois é… mas isto não elimina a necessidade de ter a JVM instalada na máquina cliente… acho mais simples um script para cada SO em que se pretende rodar o programa (geralmente BAT e SH)…

vale a pena resaltar que esse assunto ja foi visto melhor em:

http://www.guj.com.br/forum/viewtopic.php?t=709

ate mais

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.

Para fazer ele rodar em outras maquinas, estas maquinas devem ter a JRE.

Ate mais,

Pessoal, valeu mesmo pela ajuda.
Estou fazendo um software de logistica bastante interessante, que deverá ficar pronto em 4 meses no máximo.

Pretendo disponibiliza-la na net para consulta on line por perquenas empresas que não tem dinheiro para comprar um, e quando isso ocorrer com certeza darei o endereço a vcs para ver as criticas.

Valeu pela ajuda.