Jar não executa!

35 respostas
Mara1

Criei o jar do meu programinha, mas ele não executa!! já dei uma pesquisada sobre isso mas ainda não consegui resolver, verifiquei o arquivo MANIFEST.MF e está ok, rodei ele pela linha de comando e apareceu o erro : “Não foi possível localizar nem carregar a classe principal sistema.inicio” …

35 Respostas

E

O nome do pacote é “sistema” e o nome da classe é “inicio” (com letra inicial minúscula?)

Mara1

Sim!

ralphsilver

Qual o comando que vc deu? java -jar ou só java?

Mara1

java -jar

ralphsilver

Cola aí o seu manifest e me fala aonde que ele está localizado no jar

Mara1

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.7.0_01-b08 (Oracle Corporation)
Class-Path: lib/mysql-connector-java-5.1.13-bin.jar lib/commons-beanut
ils-1.8.0.jar lib/commons-collections-3.2.1.jar lib/commons-digester-
1.8.jar lib/commons-javaflow-20060411.jar lib/commons-logging-1.1.jar
lib/groovy-all-1.5.5.jar lib/iText-2.1.0.jar lib/iTextAsian.jar lib/
jasperreports-3.7.2.jar lib/spring.jar lib/xalan.jar lib/xercesImpl.j
ar lib/xml-apis-ext.jar lib/xml-apis.jar
X-COMMENT: Main-Class will be added automatically by build
Main-Class: sistema.inicio

está localizado em META-INF

O

Cola o código da classe inicio.java

Mara1

esqueci de dizer q eu uso o NetBeans e nessa classe só tem os menus…

Rodrigo_Sasaki

Não tem um método main ?

ralphsilver

Mara*:
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.2
Created-By: 1.7.0_01-b08 (Oracle Corporation)
Class-Path: lib/mysql-connector-java-5.1.13-bin.jar lib/commons-beanut
ils-1.8.0.jar lib/commons-collections-3.2.1.jar lib/commons-digester-
1.8.jar lib/commons-javaflow-20060411.jar lib/commons-logging-1.1.jar
lib/groovy-all-1.5.5.jar lib/iText-2.1.0.jar lib/iTextAsian.jar lib/
jasperreports-3.7.2.jar lib/spring.jar lib/xalan.jar lib/xercesImpl.j
ar lib/xml-apis-ext.jar lib/xml-apis.jar
X-COMMENT: Main-Class will be added automatically by build
Main-Class: sistema.inicio

está localizado em META-INF

Cara… seu Manifest está certo… só ve aí se o .class está no lugar certo… vc está montando o jar pelo eclipse?

Mara1

pelo NetBeans!

ralphsilver

Você está executando no shell/cmd? se você estiver tentando executar assim… vc está na pasta do jar?

se não… navega até a pasta que ele gerou os jars e executa o comando java -jar nome-do-jar.jar

Mara1

…executa o comando java -jar nome-do-jar.jar … já fiz isso e apareceu o erro : “Não foi possível localizar nem carregar a classe principal sistema.inicio”

Mara1

e esse projeto executa no NetBeans sem nenhum problema!

ralphsilver

Quando vc roda direto no NetBeans funciona? … cara… minhas idéias acabaram… =/ … a única coisa que pode estar errado aí é o Main não estar na classe setada no Manifest…

Rodrigo_Sasaki

Quando vc roda direto no NetBeans funciona? … cara… minhas idéias acabaram… =/ … a única coisa que pode estar errado aí é o Main não estar na classe setada no Manifest…
Foi a primeira coisa que perguntei hehehee, tô só esperando a resposta.

ralphsilver

Quando vc roda direto no NetBeans funciona? … cara… minhas idéias acabaram… =/ … a única coisa que pode estar errado aí é o Main não estar na classe setada no Manifest…
Foi a primeira coisa que perguntei hehehee, tô só esperando a resposta.

Opa verdade… hehehehhe

Mara1

??

Mara1

o main está sim na classe inicio … não tenho mais idéias também … já tentei de tudo !! :frowning:

ralphsilver

A Aplicação é muito grande?
Põe ele e o jar gerado como anexo

Mara1

Bom, depois de muito tentar resolvi criar um novo projeto e importar todas as classes… então quando executei pelo cmd apareceu um erro de imagem … então mudei um pouco o código …

image = ImageIO.read(new File(System.getProperty("user.dir")+"/src/img/pronto.png")); fundo.setIcon(new ImageIcon(image.getScaledInstance(fundo.getWidth(), fundo.getHeight(), Image.SCALE_DEFAULT)));

para esse que eu encontrei em um fórum…

String Imc = System.getProperty("user.dir") + "/src/img/pronto.png"; ImageIcon imagem = new ImageIcon(Imc); Image img = imagem.getImage().getScaledInstance(fundo.getWidth(),fundo.getHeight(),Image.SCALE_DEFAULT); fundo.setIcon(new ImageIcon(img));

… mas, agora a imagem não aparece quando executo o jar,aparece apenas quando executo pelo NetBeans… o que pode ser ??

R

vai no netbeans em propriedades, botao direito em cima do projeto, e dentro disto no executar, vc tem que por a classe que vai ser a principal, dentro do jar.

acredito que nao esta enxergando o método main.

ralphsilver

Mara*:
Bom, depois de muito tentar resolvi criar um novo projeto e importar todas as classes… então quando executei pelo cmd apareceu um erro de imagem … então mudei um pouco o código …

image = ImageIO.read(new File(System.getProperty("user.dir")+"/src/img/pronto.png")); fundo.setIcon(new ImageIcon(image.getScaledInstance(fundo.getWidth(), fundo.getHeight(), Image.SCALE_DEFAULT)));

para esse que eu encontrei em um fórum…

String Imc = System.getProperty("user.dir") + "/src/img/pronto.png"; ImageIcon imagem = new ImageIcon(Imc); Image img = imagem.getImage().getScaledInstance(fundo.getWidth(),fundo.getHeight(),Image.SCALE_DEFAULT); fundo.setIcon(new ImageIcon(img));

… mas, agora a imagem não aparece quando executo o jar,aparece apenas quando executo pelo NetBeans… o que pode ser ??

esse user.dir … manda ele imprimir no código para ver o que ele está printando

R

seguinte este problema da imagem como imageicon, já bati cabeça, segue a solução…

ImageIcon iconefizzbuzz = new ImageIcon(getClass().getResource(“fizzbuzz.gif”));

ali na aspas o caminho da imagem

Mara1

ralphsilver, ele aparece o caminho … está correto!

Mara1
ImageIcon imagem = new ImageIcon(getClass().getResource(System.getProperty("user.dir") + "/src/img/pronto.png"));

com esse deu erro!!

R

Mara*:
ImageIcon imagem = new ImageIcon(getClass().getResource(System.getProperty("user.dir") + "/src/img/pronto.png"));

com esse deu erro!!

bem nao sei como está, mas isso aqui nao… System.getProperty(“user.dir”) + “/src/img/pronto.png”))

direto o nome da imagem… podes até testar primeiro na mesma pasta um só e depois ir arrumando o caminho da pasta. vlw.

Mara1

eu coloquei uma String recebendo o caminho e também não deu certo :frowning:

R

como assim string, tente fazer isso aquiImageIcon iconefizzbuzz = new ImageIcon(getClass().getResource(“fizzbuzz.gif”));

colocando a imagem na mesma pasta por exemplo e veja se funciona. uma solução é usar as imagens na mesma pasta do projeto. outro é depois deste teste, criar uma pasta imagens…

aí muda só
ImageIcon iconefizzbuzz = new ImageIcon(getClass().getResource("…/imagens/fizzbuzz.gif"));

ou
ImageIcon iconefizzbuzz = new ImageIcon(getClass().getResource("/imagens/fizzbuzz.gif"));

ou ainda: (acho que o anterior é melhor)
ImageIcon iconefizzbuzz = new ImageIcon(getClass().getResource(“imagens/fizzbuzz.gif”));

este user.dir, ali é que não vejo o porque deve estar atrapalhando.

eu fiz aqui assim e funciona bem.

R

podes até ver no link que estou divulgando
meu trabalho de jogos,
que é repleto de imagens,
e todas funcionam muito bem diretamente no jar,
acopladas nele mesmo.

antigamente eu só conseguia fazer funcionar, colocando as mesmas no C:/ por exemplo…

inclusive tem sons anexos ao trabalho e todos funcionam bem.

ralphsilver

raghy:
como assim string, tente fazer isso aquiImageIcon iconefizzbuzz = new ImageIcon(getClass().getResource(“fizzbuzz.gif”));

colocando a imagem na mesma pasta por exemplo e veja se funciona. uma solução é usar as imagens na mesma pasta do projeto. outro é depois deste teste, criar uma pasta imagens…

aí muda só
ImageIcon iconefizzbuzz = new ImageIcon(getClass().getResource("…/imagens/fizzbuzz.gif"));

ou
ImageIcon iconefizzbuzz = new ImageIcon(getClass().getResource("/imagens/fizzbuzz.gif"));

ou ainda: (acho que o anterior é melhor)
ImageIcon iconefizzbuzz = new ImageIcon(getClass().getResource(“imagens/fizzbuzz.gif”));

este user.dir, ali é que não vejo o porque deve estar atrapalhando.

eu fiz aqui assim e funciona bem.

Imaginei a mesma coisa… essa propriedade deve ser setado pelo netbeans ao executar…

R

pois é, entendo pois nele funciona e depois fora dele não…

como disse já ‘penei’ um pouco por isso.

mas tá aí a resposta.

conseguiu resolver?

ralphsilver

raghy:
pois é, entendo pois nele funciona e depois fora dele não…

como disse já ‘penei’ um pouco por isso.

mas tá aí a resposta.

conseguiu resolver?

Idem… principalmente para aplicações desktop… muita das vezes roda na IDE mas não roda fora!!

R

entao mas conseguiu resolver, com aquele caminho que passei ali?

ou como fez?

Mara1

Desculpem pela demora … o problema era que a pasta das bibliotecas tinha q ta dentro da pasta dist e fora dela também ao gerar o jar …

Obrigado pela ajuda :wink:

Criado 3 de setembro de 2012
Ultima resposta 11 de dez. de 2012
Respostas 35
Participantes 6