Criei JAR pelo NetBeans e ele nao executa, nao faz nada quando clico

16 respostas
S

Bom dia a Todos

Sou iniciante em java, criei uma calculadora assistindo video aulas no java…atraves da IDE NetBeans…
Fui tentar criar um arquivo JAR.

Projeto->Limpar e Construir.

Ele criou perfeitamente, porem eu clico nele, ele nao executa nao faz nada.

O aplicativo esta dentro de uma pasta chamada “dist”.
ja o arquivo manifest (andei lendo sobre) está na pasta chamada calculadora (pasta do projeto).

dentro do arquivo manifest tem:
Manifest-Version: 1.0
X-COMMENT: Main-Class will be added automatically by build

nas minhas pesquisas no google, vi falando de uma pasta chamada META-INF porem esta pasta nao achei, ela é necessária? Alguem pode me ajudar?
Obrigado

16 Respostas

Andre_Fonseca

oi,

rode ele dentro do prompt do dos (ou terminal do linux) e veja se tem algum erro

java -jar meuarquivo.jar
S

ola, simplesmente nao da mensagem de erro nem nada, ele pula para outra linha…

C:\Users\Anmderson\Desktop\Agenda Java\Calculadora\dist>java -jar calculadora.jar


C:\Users\Anmderson\Desktop\Agenda Java\Calculadora\dist>

nao apresenta mensagem de erro nem nada.

Andre_Fonseca

oi,

o que teria que fazer o seu método main? poste ele aqui

Abs

S

Entao, minha estrutura de pastas está assim:

o arquivo manifest está assim:
Manifest-Version: 1.0
X-COMMENT: Main-Class will be added automatically by build

como desenvolvi este pequeno aplicativo no netbeans… vi que dentro da pasta src- tem uma outra pasta com o nome de calculadora e lá tem um arquivo chamado Main.java

/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package calculadora;

/**
 *
 * @author Anmderson
 */
public class Main {

    /**
     * @param args the command line arguments
     */
    public static void main(String[] args) {
        // TODO code application logic here
    }

}

o nome do arquivo principal é JFCalc.java que também se encontra nesta pasta.
obrigado

davi1993

o seu arqvo Main.java nao faz nada
por isso a aplicacao nao abre

voce tem que chamar sua classe no Main.java manolo

F

Exemplo: Isso vai exibir o meu nome na tela.

package pacote;


import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;


public class Inicio extends MIDlet{

Display display;
Form frm;

    public void startApp(){

        display = Display.getDisplay(this);
        frm = new Form("Felipe Viana");
        display.setCurrent(frm);

    }


    public void pauseApp(){

    }

    public void destroyApp(boolean unconditional){


    }
    

}
E

[size=24]Simples[/size]

Antes de você criar o arquivo.jar, deve escrever seu programa.

Um código simples de se criar e entender é o prgrama Olá Mundo.
Escreva o código a seguir no arquivo Main.java.

public class Main{
        public static void main (String args[]){
                System.out.println("Olá Mundo!");//Linha que escreve Olá Mundo!
        }
}

NetBeans: Após isso aperte F11 e o arquivo “.jar” foi criado com o nome do seu package.

Agora que o arquivo “.jar” for criado, vá até a pasta onde ele se encontra.

Nesta pasta, abra o bloco de notas e escreva o código em [size=18][color=red]vermelho[/color][/size] a seguir: [color=red]java -jar nomeArquivo.jar[/color].

Então, salve o arquivo com o nome idêntico ao arquivo.jar, porem com a extenção “.bat”.[ex.: nomeArquivo.bat]

Finalmente, dê duplo-clique no arquivo “.bat” e veja o PROMPT executando sua aplicação.

E

Achei um Tutorial Fera sobre .JAR

http://javafree.uol.com.br/artigo/933/Aplicacoes-executaveis-com-Java.html

S

Pessoal, agradeço a todos, porem, quando eu executo o aplicativo de dentro do netbeans ele executa, aparece a calculadora…

ja quando tento gerar o Jar, ele gera, tudo normal, porem nao executa, nao faz nada… ja de dentro do netbeans, funciona perfeitamente… se quiserem mando a pasta toda do aplicativo para voces verem aonde está o erro…
obrigado

Andre_Fonseca

oi,

abra o arquivo de manifesto dentro do jar e cola aqui, mostra tb como esta a estrutura de pacotes dentro do jar

[]´s

S

ola…
o arquivo manifesto tem isso dentro:

Manifest-Version: 1.0 
X-COMMENT: Main-Class will be added automatically by build

como desenvolvi no NetBeans ele está dentro da pasta principal, ou seja, da pasta do projeto chamado calculadora… notei…lendo que nao tenho a pasta META-INF.
Obrigado

F

Se você está tentando abrir no celular… você precisa de seu celular executa arquivo Java… Jar.

Eric_Yuzo

Esse manifest que você postou não é o manifest do jar e sim um arquivo usado pelo Net Beans. Dentro do seu “arquivo.jar” tem uma pasta chamada META-INF, com o manifest dentro. O que vale é o arquivo que está dentro do jar.

Para resolver seu problema, tente clicar com o botão direito no seu projeto e abra as propriedades, vai ter um item chamado “Executar”, lá tem um campo chamado “classe principal”, é aí que deve especificar qual é sua classe principal.

Imagino que o Net Beans criou automaticamente aquela classe “Main” postada como classe principal, que ficou de lado, sem código nenhum, por isso não acontece nada ao executar o jar.

E por fim, procure entender o que é um arquivo jar e como funciona para não ficar tão dependente de IDE.

S

Ah entendi… beleza… essa dica sua foi ótima…

vou estudar sobre o JAR sim…

Entao, descompactei meu arquivo JAR…
dentro da pasta META-INF, tem um manifest mesmo, ele está da seguinte forma:

Manifest-Version: 1.0
Ant-Version: Apache Ant 1.8.1
Created-By: 1.6.0_23-b05 (Sun Microsystems Inc.)
Main-Class: calculadora.Main
Class-Path: 
X-COMMENT: Main-Class will be added automatically by build

Troquei o nome do projeto no propiedades para calculadora.JFCalc e FUNCIONOU PERFEITAMENTE !
Obrigado, era isso mesmo, o calculadora.Main.Java está vazio, por isso que ele nao dá erro, ele executa como não tem nada, ele não da erro!
:smiley: :smiley: :smiley: :smiley: Obrigado !!! Ajudou muito :smiley: :smiley: :smiley:

Z

Amigo, olho esse fórum por muito tempo, mas só agora que eu fiz meu cadastro para poder te responder, acho que tenho a resposta para a sua pergunta!
Aconteceu isso comigo também, o problema eram as referências das bibliotecas que estajam incorretos.

Por exemplo, eu excluir a pasta das minhas .jar ai depois inclui de novo, mas la no Propriedades do Projeto ele ainda fica setado o caminho anterior com um ponto de exclamassão do lado e depois tem a referência correta em baixa, o que você deve fazer? Remova as referências que estão com o ponto de exlamação!

O .jar se confunde quando é gerado com referência inválidas, aqui funcionou.

Esperto ter ajudado.

AyrtonGomes

Bom eu estava com o mesmo problema e como amigo disse o problema era exatamente por que não tinha o método main, eu criava outras classes dentro de um projeto principal e por isso não rolava nada, mais se você colocar só ums System.out.println(); ele abre e fecha rapidamente a aplicação, mais faça um teste usando uma caixa de dialogo com o swing,da para rer a noção da coisa.

Criado 5 de janeiro de 2011
Ultima resposta 19 de jan. de 2013
Respostas 16
Participantes 8