Executar arquivo .JAR com dois cliques (sem prompt ou arquivos de comando em lotes)
Olá galera sou iniciante em JAVA, mas pela experiência em C estou desenrolando
esta linguagem muito bem, mas eu tenho uma duvida.
Ja baixei da NET arquivos .JAR que executavam somente com os cliques do mouse, ou seja, não era necessário comandos no prompt nem arquivos de comandos em lotes, melhor dizendo fazendo o arquivo .JAR parecer um arquivo .EXE(já que programo pro windows).
Já consegui criar arquivos .JAR que consigo executar inserindo comandos de arranque pelo modo console.
Desculpa se este tipo de tópico já foi respondido, juro que procurei e muito mas não achei respostas.
Agradeço as vossas atenções.
Bruno Andrade
Curtidas 0
Respostas
Ricardo Camelo
29/03/2010
Amigo, deves no teu arquivo jar, ter uma pasta META-INF contendo um arquivo MANIFEST.MF, e nesse arquivo tem que ter a seguinte propriedade Main-Class: [fully qualified name da tua classe que tem o método main]. Qualquer dúvida visite o seguinte link.
http://java.sun.com/docs/books/tutorial/deployment/jar/manifestindex.html
[quote="cesarbruno16"]Olá galera sou iniciante em JAVA, mas pela experiência em C estou desenrolando
esta linguagem muito bem, mas eu tenho uma duvida.
Ja baixei da NET arquivos .JAR que executavam somente com os cliques do mouse, ou seja, não era necessário comandos no prompt nem arquivos de comandos em lotes, melhor dizendo fazendo o arquivo .JAR parecer um arquivo .EXE(já que programo pro windows).
Já consegui criar arquivos .JAR que consigo executar inserindo comandos de arranque pelo modo console.
Desculpa se este tipo de tópico já foi respondido, juro que procurei e muito mas não achei respostas.
Agradeço as vossas atenções.
GOSTEI 0
Wender
29/03/2010
Se tiver usando netbeans basta utilizar a opção "LIMPAR E CONSTRUIR MAIN PROJECT". Se não estou enganado acho que "F11"
Sempre utilizei assim nos meus projetos e nunca tive problemas.
:smile:
GOSTEI 0
Ricardo Camelo
29/03/2010
Eu não sei se o netbeans já gera automáticamente o jar com o MANIFEST.MF apontanto para a classe que contém o método main, mas eu acho que o colega que criou o tópico quer executar o jar de fora de uma IDE.
[quote="wender.jean"]Se tiver usando netbeans basta utilizar a opção "LIMPAR E CONSTRUIR MAIN PROJECT". Se não estou enganado acho que "F11"
Sempre utilizei assim nos meus projetos e nunca tive problemas.
:smile:
GOSTEI 0
Wender
29/03/2010
Os arquivos apos gerados pela ide, podem ser executados fora da mesma sem problemas.
GOSTEI 0
Paulo Roberto
29/03/2010
[quote="wender.jean"]Os arquivos apos gerados pela ide, podem ser executados fora da mesma sem problemas.
Estou com um problema aqui no meu projeto. Estou utilizando o Netbeans 8.0 ele gera o arquivo mas não executa será que pode me ajudar. O manifest segue abaixo
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.9.2
Created-By: 1.7.0_10-b18 (Oracle Corporation)
Class-Path: lib/TimerBean.jar lib/mysql-connector-java-3.1.11-bin.jar
lib/JasperBabylon-1.0.0.jar lib/antlr-2.7.5.jar lib/asm-attrs.jar lib
/asm.jar lib/barbecue-1.1.jar lib/bsh-2.0b4.jar lib/cglib-2.1.jar lib
/cincom-jr-xmla.jar lib/commons-beanutils-1.7.jar lib/commons-collect
ions-2.1.jar lib/commons-dbcp-1.2.1.jar lib/commons-digester-1.7.jar
lib/commons-javaflow-20060411.jar lib/commons-logging-1.0.2.jar lib/c
ommons-logging-api-1.0.2.jar lib/commons-math-1.0.jar lib/commons-poo
l-1.3.jar lib/commons-vfs-1.0.jar lib/dom4j-1.6.jar lib/ehcache-1.1.j
ar lib/eigenbase-properties.jar lib/eigenbase-resgen.jar lib/eigenbas
e-xom.jar lib/flexdock-0.4.1.jar lib/groovy-all-1.0.jar lib/hibernate
3.jar lib/hsqldb-1.7.1.jar lib/iReport.jar lib/itext-1.3.1.jar lib/ja
karta-bcel-20050813.jar lib/jasperreports-2.0.2.jar lib/jasperreports
-extensions-1.3.1.jar lib/javacup.jar lib/jaxen-1.1.1.jar lib/jcmdlin
e-1.0.2.jar lib/jcommon-1.0.0.jar lib/jdt-compiler-3.1.1.jar lib/jfre
echart-1.0.0.jar lib/jpa.jar lib/jsmoothgen-ant-0.9.7.jar lib/jta.jar
lib/jxl-2.6.jar lib/log4j-1.2.9.jar lib/looks-2.0-rc.jar lib/microba
-0.4.1-bin.jar lib/mondrian-2.3.2.8944.jar lib/mysql-connector-java-3
.1.11-bin.jar lib/nsisant-1.1.jar lib/png-encoder-1.5.jar lib/poi-3.0
.1-FINAL-20070705.jar lib/rex-20070125.jar lib/saaj-api-1.3.jar lib/s
ervlet.jar lib/spring-2.0-m2.jar lib/spring-context-2.0-m2.jar lib/sp
ring-hibernate3-2.0-m2.jar lib/sqleonardo-2007.03.jar lib/swingx-2007
_05_13.jar lib/tinylaf.jar lib/toniclf.jar lib/xercesImpl.jar lib/xml
-apis.jar lib/AbsoluteLayout.jar
X-COMMENT: Main-Class will be added automatically by build
Main-Class: cadastro.Login
GOSTEI 0
Ricardo Staroski
29/03/2010
De acordo com, o classpath definido no manifest.mf, seu JAR depende de uma pasta [b]lib[/b] contendo os seguintes arquivos:
Verificou se essa pasta está na mesma pasta do jar?
TimerBean.jar mysql-connector-java-3.1.11-bin.jar JasperBabylon-1.0.0.jar antlr-2.7.5.jar asm-attrs.jar asm.jar barbecue-1.1.jar bsh-2.0b4.jar cglib-2.1.jar cincom-jr-xmla.jar commons-beanutils-1.7.jar commons-collections-2.1.jar commons-dbcp-1.2.1.jar commons-digester-1.7.jar commons-javaflow-20060411.jar commons-logging-1.0.2.jar commons-logging-api-1.0.2.jar commons-math-1.0.jar commons-pool-1.3.jar commons-vfs-1.0.jar dom4j-1.6.jar ehcache-1.1.jar eigenbase-properties.jar eigenbase-resgen.jar eigenbase-xom.jar flexdock-0.4.1.jar groovy-all-1.0.jar hibernate3.jar hsqldb-1.7.1.jar iReport.jar itext-1.3.1.jar jakarta-bcel-20050813.jar jasperreports-2.0.2.jar jasperreports-extensions-1.3.1.jar javacup.jar jaxen-1.1.1.jar jcmdline-1.0.2.jar jcommon-1.0.0.jar jdt-compiler-3.1.1.jar jfreechart-1.0.0.jar jpa.jar jsmoothgen-ant-0.9.7.jar jta.jar jxl-2.6.jar log4j-1.2.9.jar looks-2.0-rc.jar microba-0.4.1-bin.jar mondrian-2.3.2.8944.jar mysql-connector-java-3.1.11-bin.jar nsisant-1.1.jar png-encoder-1.5.jar poi-3.0.1-FINAL-20070705.jar rex-20070125.jar saaj-api-1.3.jar servlet.jar spring-2.0-m2.jar spring-context-2.0-m2.jar spring-hibernate3-2.0-m2.jar sqleonardo-2007.03.jar swingx-2007_05_13.jar tinylaf.jar toniclf.jar xercesImpl.jar xml-apis.jar AbsoluteLayout.jar
GOSTEI 0