Problemas com arquivos JAR

Pessoal, eu fiz um programa e salvei como JAR. No meu computador rodou sem problemas, porém quando eu coloquei para rodar em outro pc não funcionou.

Aparece uma mensagem de erro: “Não é possível acionar a aplicação” .

Este pc está instalado com o JRE 7.

Como eu resolveria este problema?

gere o jar novamente e faça o teste, tive um problema parecido uma vez, onde tive que instalar o ide, compilar para ver se dava algum erro, e o problema estava na importação de um biblioteca que era chamada no metodo main…

O computador que quero executar o JAR não possui o SDK apenas o JRE 7. No meu computador o arquivo JAR rodou sem problemas. Tenho que ter certeza que meus programas irão rodar em outro computador que não seja o meu.

O computador que quero executar o JAR não possui o SDK apenas o JRE 7. No meu computador o arquivo JAR rodou sem problemas. Tenho que ter certeza que meus programas irão rodar em outro computador que não seja o meu.
[/quote]

Só uma dica, você criou o Jar como RunnableJAR ou apenas JAR???, caso queira ver se existe algum outro erro, você pode digitar o comando javaws -viewer no console do windows ou do linux, e fechar a janela que aparece (Somente a primeira janela), depois va na guia avançado-> Console - Mostrar Console

O computador que quero executar o JAR não possui o SDK apenas o JRE 7. No meu computador o arquivo JAR rodou sem problemas. Tenho que ter certeza que meus programas irão rodar em outro computador que não seja o meu.
[/quote]

Só uma dica, você criou o Jar como RunnableJAR ou apenas JAR???, caso queira ver se existe algum outro erro, você pode digitar o comando javaws -viewer no console do windows ou do linux, e fechar a janela que aparece (Somente a primeira janela), depois va na guia avançado-> Console - Mostrar Console[/quote]

Bom isso já não sei, eu criei o arquivo jar da seguinte maneira:

jar cvfe BeatBox.jar BeatBox BeatBox.class BeatBox$MyStartListener.class BeatBox$MyStopListener.class BeatBox$MyUpTempoListener.class BeatBox$MyDownTempoListener.class 

Postarei o arquivo Jar para vcs verem.

Príncipio básico para encontrar o erro, é ver o retorno da pilha de erro, ou seja, rode o seu progama usando o prompt.
se estiver usando windows, rode da seguinte forma:

java -jar BeatBox.jar

Após isso, você verá no console qual a mensagem de erro, a qual é lançada no console, ae poste para a gente analisar.

[quote=ribclauport]Príncipio básico para encontrar o erro, é ver o retorno da pilha de erro, ou seja, rode o seu progama usando o prompt.
se estiver usando windows, rode da seguinte forma:

java -jar BeatBox.jar

Após isso, você verá no console qual a mensagem de erro, a qual é lançada no console, ae poste para a gente analisar.[/quote]

Fiz isso e rodou normalmente!!! Porque ele não roda normalmente quando dou dois clicks???

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&gt;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&gt;jar cvfm meuJar.jar Manifest.txt *.class
added manifest
adding: TesteJar.class(in = 434) (out= 298)(deflated 31%)

C:\Users\claudemir\ProjetoJar&gt;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&gt;java -jar meuJar.jar
Testando o jar que criei

C:\Users\claudemir\ProjetoJar&gt;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.