Abrir arquivo .jar no linux

Ola fiz um pequeno aplicativo e tranformei para .jar. No windows ele funciona legal, em linux ao clicar ele abre como sendo um diretório!
Alguem tem alguma dica de como abrir? Ou tenho que transformar os fontes em jar lá no linux?

Daí cara,

Olha, vou te dizer que fiquei confuso, mas daí eu me lembrei, na verdade não tá tendo problema nenhum, o que tá dando é que o teu linux tá abrindo o pacote, pois é isso que o .jar é, um Java Archive, ou seja, ele pega todas os teus arquivos .java e compila pra .class e coloca num pacote, ou jar :smiley:

Assim sendo, tenta rodar o teu programa de outro jeito, ao invés de dar dois cliques, abre o console e digita “java -jar pacote.jar”, sem as aspas, é claro.

[]s

Ai Renato valeu, tirei a dúvida
Porem veja fiz um aplicativo gostaria de rodar em multiplataformas
Disponibilizo, um leigo baixa o arquivo e tenta abrir no linux ( tem que digitar através de linha de comando é difícil), assim o .jar só funciona no win já que posso simplesmente colocar os class dentro de uma pasta e abrir o principal através de linha de comando “java arquivo”.

Gostaria de fazer para que o usuário de os dois clics no arquivo e abra tanto no linux como no win?
Caso tenha sugestão fico agradecido.
Ah sou de Floripa tbém.
Um abraço

tu pode criar um script q execute ele… dai o usuario teria q clicar 2x no script…
tipo um run.sh

#!/bin/sh
java -jar ....

Bah, guri

Isso só funciona no windows se o usuário tiver a JVM instalada e os arquivos .class e .jar estiverem associados ao java.exe, não ?

O jeito é fazer bem aquilo que o Fábio sugeriu, cria um script ou um arquivo de batch tanto pro windows quanto pro linux.

Pro linux eu não sei como é a sintaxe, mas pro windows é fácil, se não souberes, te passo por aqui.

[]s

Achei que .jar é multiplataforma, porem so funciona no win, então qual a diferença do .exe?
Fábio não consigo fazer o script no linux. O que é colocado para fazer a chamada do meu principal.class?
obrigado pela ajuda

[quote=“Soni”]Achei que .jar é multiplataforma, porem so funciona no win, então qual a diferença do .exe?
Fábio não consigo fazer o script no linux. O que é colocado para fazer a chamada do meu principal.class?
obrigado pela ajuda[/quote]

jar É multiplataforma. Funciona até numa torradeira se tiver JVM instalada… Acontece q em windows ele te da a facilidade de tu escolher qual programa tu quer q abra qnd tu clicar em um .jar, no linux não (ou talvez até tenha e eu q esteja desatualizado)… mas é como o fabiofalci disse.

O cara já falou ali em cima como tem que fazer no linux, eu infelizmente só sei que pra listar diretórios é ll ou ls, então, segue o conselho dele que provavelmente vais te dar melhor.

[]s

Desculpe a minha ignorancia mais salvar o comando

#!/bin/sh java -jar Principal
em um algumaCoisa.sh não abre o programa, ta faltando algo, e diferente de um .bat no win

Não, o comando não é diferente, é igual. Come on, é só tu digitar java -jar NomeDoPrograma q ele abre… [color=“red”]é claro, isso se ele for um jar executável né…[/color]

[quote=“Soni”]Desculpe a minha ignorancia mais salvar o comando

#!/bin/sh java -jar Principal
em um algumaCoisa.sh não abre o programa, ta faltando algo, e diferente de um .bat no win[/quote]

Isso é pq não pode ser só Principal, tem que ser

#!/bin/sh java -jar Principal.jar

Tem razão Renato ja arrumei

Com o comando ./teste.sh no console ele abre, então o Aplicativo.jar esta funcionando porem clicar no teste.sh recebo a mensagem de que
“não encontra o programa teste.sh”
Ta quase lá, será que tem alguma coisa com arquivo oculto?
uso redHat

[quote=SoniPJ]Tem razão Renato ja arrumei

Com o comando ./teste.sh no console ele abre, então o Aplicativo.jar esta funcionando porem clicar no teste.sh recebo a mensagem de que
"não encontra o programa teste.sh"
Ta quase lá, será que tem alguma coisa com arquivo oculto?
uso redHat[/quote]

Olá provavelmente esse problema já foi resolvido, mas caso alguém tenha dúvida…
Se você não consegue executar com dois cliques o arquivo.jar mesmo com o JVM instalado no Linux, provavelmente é porque o arquivo não está marcado como executável nas permissões do arquivo “Clique com o botão direito no arquivo.jar e vá em propriedades > Permissões > marque a opção ‘Permitir execução do arquivo como um programa’ > Fechar; agora clique com o botão direito do mouse no arquivo novamente e em abrir com e escolha o java instalado na sua máquina”.
Espero ter ajudado…

As permissões são chatas mesmo, justamente pra quando alguém executar um programa, ter certeza do que está executando. Uso Ubuntu e faço exatamente como o evaldo escreveu para abrir meus programas .JAR.

abre o termnal…vai pro diretório onde está seu jar…manda o comando java -jar SeuArquivo.jar

Para executar o arquivo .sh com 2 clicks é necessário atribuir permissões à ele.

Faça isso no terminal

chmod +x arquivo.sh (provavelmente precisa fazer como root, não lembro agora).

Depois clique duas vezes no arquivo e escolha executar em terminal.

Se você estiver um jdk instalado na maquina, você pode definir o programa ao qual abrir o .jar por padrao se nao me engano é o archive file, mas é só alterar para abrir com o jdk instalado que ira funcionar, pelo menos no ubuntu 10.10 funciona normalmente, ou tambem pela boa e velha linha de comando.

bffermino, acho que não precisa ser como root, mas deve ser o ‘dono’ do arquivo para fazer isso :wink:

Tanto no windows como no linux é necessário configurar qual programa abre a extensão .jar para ter 100% de certeza. Por exemplo, no windows, arquivos .jar para mim, por padrão abrem com o winrar… para eu executar um arquivo .jar eu devo clicar com o botão direito, ir em abrir com … e escolher a jvm :stuck_out_tongue: No linux ± a mesma coisa.

Exatamente, o usuário que irá executar o arquivo .jar deve ter as devidas permissões, e escolher com qual programa deseja abrir, pois por padrão é aberto com gerenciador de arquivos compactados.