Abrir arquivo .jar no linux

20 respostas
S

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?

20 Respostas

R

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

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

F

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 ....
R

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

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

M

“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

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.

R

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

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

M

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]

R

“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

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

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

S

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

evaldo.dodo

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

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…

gRoOve

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.

leoviniga

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

B

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.

Giboty

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.

drigo.angelo

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

drigo.angelo

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.

gRoOve

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.

ferrarezi

SoniPJ:
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?

Na verdade em modo texto puro (sem o X / DM) eu ficaria com o "java -jar fulano".
Mas, se a interfa grafica tá rodano normalmente vá no seu arquivo .jar, clique com o botão direito -> propriedades, aba "abrir com…" e clique no botão adicionar e escolha a opção "usar um comando personalizado", então coloque o caminho onde vc desempacotou o java + "java - jar". Por exemplo, se vc jogou em /opt como eu, fica +/- assim:

/opt/jre1.6.0_29/bin/java -jar

Mas de qq forma você teria q fazer manualmente, máquina por máquina (se forem muitas).
8)

Criado 19 de abril de 2005
Ultima resposta 9 de nov. de 2011
Respostas 20
Participantes 11