Dentro do seu jar, tem um arquivo chamado manifest.mf, provavelmente em uma pasta chamada webinf, ae depende de como você o criou.
Eu, faria assim:
Faria um projeto simples no Eclipse, e construiria o jar, então faria os testes. Ou constuiria o jar na mão mesmo para entender a estrutura.
Se este projeto simples rodar, então provavelmente é algum problema com relação ao seu projeto, por exemplo, problemas de classpath.
Você pode estar pensando, como projeto de classpath, se o meu projeto roda na máquina que gerei?
R: Pode ser que seu projeto está usando algum “jar externo”, e quando você roda na sua máquina, seu classpath está setado nas variáveis de ambiente e tem as dependência do projeto…, mas para comprovar temos que fazer testes, continuando…
Se você consegue rodar seu projeto, usando o camando:
java -jar BeatBox.jar
Então provavelmente, você está com seu manifest.txt ou manifest.mf setado com a classe main, mais não custa nada verificarmos, então poste também aqui o conteúdo do manifest.mf (Lembrando que nos testes abaixo que serão feitos esse arquivo vai estar com a extensão .txt, nas não está errado!)
Outra possibilidade é que sua aplicação esteja usando algum recurso de IO, por exemplo um Scanner, não sei explicar tecnicamente, porém nestes casos, eu tive que criar um arquivo .bat, para poder disparar o console…
Bom poderiamos fazer um teste para ver se as coisas vão funcionar devidamente ae com seu ambiente, e ja aproveitariamos para gerar um jar na mão vamos la:
[color=red]Passo 1:[/color]
Vamos criar uma pasta abaixo do seu diretório home, chamado “ProjetoJar”
[color=red]Passo 2:[/color]
criar uma classe chamada “TesteJar” em um arquivo chamado “TesteJar.java” e digitar o seguinte código:
public class TesteJar {
public static void main(String[] args) {
System.out.println("Testando o jar que criei");
}
}
[color=red]Passo 3: [/color]
Dentro da pasta TesteJar, crie um arquivo chamado manifest.txt, e coloque o seguinte conteúdo conforme, abaixo, Atenção que tem uma linha em Branco no
final do arquivo! Isso é muito importante, ou seja digite a linha abaixo e de um <Enter>:
[code]Main-Class: TesteJar
[/code]
navegue até a pasta TesteJar, e compile o arquivo da seguinte forma:
C:\Users\claudemir\ProjetoJar>javac TesteJar.java
[color=red]Passo4:[/color]
Agora vamos gerar o jar, repare que estou sobre meu home no prompt, dentro da pasta ProjetoJar, e que será usando o manifest para gerar o jar!
Abaixo segue o comando, seguido do resultado, e a seguir mais um comando para rodar o jar:
C:\Users\claudemir\ProjetoJar>jar cvfm meuJar.jar Manifest.txt *.class
added manifest
adding: TesteJar.class(in = 434) (out= 298)(deflated 31%)
C:\Users\claudemir\ProjetoJar>java -jar meuJar.jar
Testando o jar que criei
Ate ai tudo bem, agora vamos dar dois clicks e ver o que acontece…
Não vai acontecer nada, então vamos ter que criar um arquivo bat, que ira disparar o progama, crie um arquivo chamdao roda.bat, com o seguinte conteúdo:
java -jar meuJar.jar
pause
[color=red]Passo 5:[/color]
Agora dando dois cliques no arquivo[color=darkred] roda.bat [/color]e a saida está abaixo:
C:\Users\claudemir\ProjetoJar>java -jar meuJar.jar
Testando o jar que criei
C:\Users\claudemir\ProjetoJar>pause
Pressione qualquer tecla para continuar. . .
Bom, analogicamente, você pode depois de fazer este teste, criar o seu jar novamente, usando desta vez o manifest.txt e apontando sua classe main nele, lembrando
que se estiver usando outros jars para rodar a aplicação, tem que setar o classpath no "manifest.txt"!, mais a conversa é outra dae…, faça os passos acima e depois qualquer dúvida poste novamente!
Espero ter de alguma forma ajudado.