tem como gerar uma espécie de “executavel” no java?
Existe sim, mas perde a portabilidade exclusiva em Java, tente criar arquivos .jar, que o resultado é o mesmo. Na secao de tutoriais voce encontra como criar arquivos jars
Olá,
A discussao sobre “abrir mão da portabilidade” é grande por causa do excessivo número de fanáticos que tem por aqui e em outros fórums. As pessoas procuram justificar a qualquer custo o erro da SUN em nao disponibilizar oficialmente um compilador para código nativo alegando perda de portabilidade, mas ela mesma disponibiliza seus aplicativos em formato .exe
Se ver bem (e está na cara de todos nós) os mais conhecidos softwares escritos em java utilizam arquivos .exe para inicializar e possuem versões diferentes para os diferentes sistemas operacionais. Alguns exemplos:
- NetBeans (da própria SUN)
- Eclipse
- GEL (esse se diz compilado totalmente para código nativo)
- Azureus cliente bittorrent
- E voces podem dizer muitos outros
Esses softwares ou se iniciam utilizando um .exe ou são compilados para código nativo e nao dependem da JVM.
Alguns links para que tu possa compilar gerando um .exe (mas dependendo ainda da JVM) ou gerar um .exe direto em código nativo.
- http://gcc.gnu.org/java/ (esse compila para codigo nativo mas para unix apenas eu creio)
- http://www.excelsior-usa.com/home.html
- http://mpowers.net/executor/
- http://www.ej-technologies.com/products/exe4j/overview.html
- http://www.dobysoft.com/products/nativej/index.html
- http://www.xlsoft.com/en/products/jet/jetpro.html
Até +
Se quiser criar um .exe de uns 15mb tudo bem, mas eu prefiro criar um .jar de 1mb…
É possível criar uma arquivo .exe, mas será um arquivo grande, pois não vai depender da JVM instalado na máquina, criando um arquivo .jar, ocupa bem menos espaço, pois utiliza esta JVM, pelo menos é o que eu sei, se estiver errado, alguém me corrija.
Sinceramente, eu prefiro ser “fanático”, porém prático e criar um arquivo que rode em qualquer máquina, do que ser idiota e criar arquivos grandes com versões para Windows, Unix, MacOS, etc…
Agora, se a Sun disponibiliza arquivos .exe o problema é deles, pergunte a eles o motivo, pois o problema não é nosso.
Crie arquivos JAR!!! Seja um fanático também!!! AHAHAH!!!
hmmm…
tem uns ali simplesmente chamando com .exe, mas o GNU GCJ é punk… quando Swing e AWT estiverem prontos vai ser interessante
a maioria dos programas feito em java que tem um ponto .exe ou .bat é so pros usuarios preguiçosos como eu podereme inicializar a ferramenta com um clique.
peguem o net beans pra windows, achem a classe main dele e chame atraves de linha de comando no linux que voces vao ver que vai rodar direitinho.
Não é compilado de forma nativa não, é tudo java de verdade.
Apenas tem um exe ou sh a mais pra poupar esforço da nossa parte e fica mais facil pro povão.
valew galera !!!
aki no portal java na sessão de tutoriais… tem um exemplo de com criar um arkivo .jar
esse exemplo é confiável^?
se esta aki no portal java creio que sim
mas use .jar mesmo, em vez de .exe, é mais seguro e tem o mesmo efeito…
e use IDEs para gerar o .jar
gerar .jar no eclipse é bico…
File>>Export
o eclipse é pesado? é fácil de encontra - lo?
afinal nunca usei o eclipse
a programação é a mesma coisa do JCreator por exemplo?
valew
vc só vai entender qndo praticar
vlw…
Eu usei o programa JSmooth (http://jsmooth.sourceforge.net/ ) e gerei um “.exe” com um .jar.
Assim, criei um .jar usando o Eclipse e usando o JSmooth empacotei o .jar num .exe, MAS ele ainda continua dependendo da jre. Achei vantagem fazer isso porque desenvolvi o aplicativo exclusivamente para ruindows e eu estava tendo problema com os compactadores que abrem os .jar, alguns deles mesmo desmarcando a opção de abrir o .jar não reassociação os .jar à jre.
E assim fiquei livre deste problema, no caso de usar em outro sistema é só distribuir o .jar mesmo.
Falow !!! 
e como funcionam programas como o Azureus, que possuem tanto executavel quanto .jar. o que o executavel faz? eu axo que eh somente um script que chama o .jar… se for isso mesmo, alguem poderia dizer como se faz?