DISTRIBUIR aplicação

Como faço p/ distribuir uma aplicação java?

fiz um pequeno programa com o jBuilder e quero distribui-lo.

Gerei por ele o arquivo .jar + como faço para rodar?

tentei

java -classpath sistemaSIGC.jar sistema.sistemaSIGC.class

estou dentro da pasta onde foi gerado o .jar

da erro e não roda.

minha outrao pergunta é:

Vou ter sempre que rodar a aplicação desta forma? não há como dar 2 clicks no .jar e ele executar?

que arquivos é necessário ter instalados no cliente (jsdk ou apenas jre)?

tem como agregar na aplicação ou tenho q instalar o jdsk ou jre sempre no cliente?

grato pessoal.

Ricardo

Dependendo da sua versão do Jbuilder ele gera um executável, lembrando que este não será portável.

Para clickar no .jar e executar direto vai depender do teu OS.

Dê uma olhadinha aqui nos tutoriais do GUJ. Uma solução é criar um .bat ou um .sh

Gustavo Guilherme BacK

blz

vou procurar.

abraço

O executável do JBuilder, pelo menos na versão que eu vi, era apenas “um .bat” na forma de .exe. Ele até incluia o .jar separadamente.
Portanto, precisa da JRE para executar.

Existem outro compiladores que realmente passam para código nativo, e aí não precisa.

Estou usando o JBuilder 9 personal.

fica uma coisa um pouco complicada né?

1o. Como gero código nativo com o jbuilder p/ win32?

2o. Tem alguma forma mais fácil p/ distribuir a aplicação? (instalar o jre e o programa não vai ser tão simples p/ p cliente, a não ser q eu faça. (estava vendo a possibilidade do usar o Java web sta… + acho q não se aplica bem ao q quero.))

[quote=“Bani”]
Existem outro compiladores que realmente passam para código nativo, e aí não precisa.[/quote]

Há um chamado exe4j. É o único que conheço e não é gratuito.
www.exe4j.com

Gustavo Guilherme BacK

Pesquisa no GUJ:
http://www.guj.com.br/forum/viewtopic.php?t=6169

[quote=“rfpsatin”]Como faço p/ distribuir uma aplicação java?

fiz um pequeno programa com o jBuilder e quero distribui-lo.

Gerei por ele o arquivo .jar + como faço para rodar?

tentei

java -classpath sistemaSIGC.jar sistema.sistemaSIGC.class

estou dentro da pasta onde foi gerado o .jar

da erro e não roda.[/quote]

Ola,

Voce quer “rodar” ou “distribuir” (no sentido de fazer “deploy”)?

Se sua aplicacao eh “desktop” e voce quer roda-la na tua maquina, tente:

java -jar app.jar

(depois de ajustar o CLASSPATH).

Se sua aplicacao for voltada a Web e voce quiser realmente “distribui-la” (deploy), entao a acao depende do seu servidor de aplicacoes, exemplo:

  • Para Tomcat (caso seja uma aplicacao apenas com Servlets, JSP e etc, sem EJB): coloque o arquivo WAR (nao sei se com JAR ele funciona tambem - mas eh soh questao de extensao) no diretorio webapps do Tomcat, configure-o no server.xml e reinicie-o.

  • Para JBoss (servidor de aplicacoes completo): coloque no diretorio de deploy e pronto, ele deve fazer a distribuicao/implantacao de forma automatica (“hot deploy”).

[quote=“rfpsatin”]minha outrao pergunta é:

Vou ter sempre que rodar a aplicação desta forma? não há como dar 2 clicks no .jar e ele executar?[/quote]

Acho que no Windows quando voce instala o JDK/JRE o instalador ja associa as extensoes .class e .jar com o executavel java.exe. Nao tenho certeza, mas isso eh facil voce averiguar. Ja para Linux (e outros SOs do tipo *nix), voce pode configurar isso no gerenciador de janelas em uso (Gnome, KDE, etc).

No cliente voce quer rodar uma aplicacao “stand-alone” (desktop)? Precisa do JRE.

No cliente voce quer rodar applets? Precisa apenas do plugin para o navegador do cliente.

No cliente voce quer acessar sua aplicacao J2EE que esta em um Tomcat, JBoss, etc? Entao nao precisa de nada, soh do navegador. :slight_smile: (claro, se voce fizer uma aplicacao J2EE sofisticada onde o cliente eh em si nao eh um navegador mas uma aplicacao Swing (exemplo) criada por voce, entao cai no primeiro caso e o cliente devera ter o JRE instalado).

JDK precisa apenas para desenvolver as aplicacoes (ou seja, apenas desenvolvedores precisam ter o JDK completo instalado).

Ter como, tem. Mas nao sei como eh a licenca da Sun no que tange a isso - voce pode dar uma lida naqueles termos de compromisso que a gente aceita para baixar o JDK ou JRE (e peca para um advogado dar uma lida tambem ;)). Bom, talvez alguem aqui do forum ja tenha passado por isso e tenha uma resposta mais direta e simples. :smiley:

Marcio Kuchma

Otimo post, kuchma, mas tem uma pequena incorrecao aqui: a JDK e’ necessaria caso vc va mexer com JSPs tambem - uma vez que o application server compila os bichinhos em runtime :wink:

Otimo post, kuchma, mas tem uma pequena incorrecao aqui: a JDK e’ necessaria caso vc va mexer com JSPs tambem - uma vez que o application server compila os bichinhos em runtime ;)[/quote]

Ah sim, bem lembrado…

[editado /] (minhas tags seguem o padrao XML ;))

Marcio Kuchma

Salve Márcio…

deu certo a execução “java -jar app.jar”

Qdo falei sobre distibuir estava falando no sentido de mandar o “executável” desktop p/ o cliente mesmo. É exatamente isto que precisava.

um abraço e a todos os demais colegas do forum que colaboraram tb.

Ricardo