Execute um jar com duplo clique no linux

0

O que eu estou tentando alcançar é rodar um programa java em qualquer sistema Linux (Ubuntu, Fedora, etc ... cobrindo o máximo possível) simplesmente clicando duas vezes em um arquivo como eu faria no Windows.
Eu criei um arquivo .sh (e concedeu permissões de execução) com o seguinte conteúdo:

#!/bin/sh
java    -Xmx512M\
    -Djava.library.path="."\
    -DclientAppDataPath="Application Data"\
    -jar Client.jar\
    Phoenix.client.ClientMain\
    1>output.txt 2>error.txt

Se eu tentar executar este arquivo usando o Ubuntu Terminal, ele funcionará bem. No entanto, quando tento clicar duas vezes no arquivo e escolho Executar ou Executar no Terminal, não vejo nada. Aparentemente, o shell abre e fecha imediatamente. Como evito isso?

EDITAR:
Eu notei que o error.txt contém:

blah/blah/blah/Client Launcher.sh: 2: blah/blah/blah/Client Launcher.sh: java: not found

Eu extraí um jdk1.x.x.tar.gz e adicionei o java home ao PATH manualmente usando o arquivo .bashrc. Isso poderia ser a causa? Como posso consertar isso?

    
por atoMerz 09.09.2013 / 15:39

1 resposta

0

Há uma boa solução que faz com que os arquivos jar do Java sejam tratados como executáveis sem exigir scripts de shell, embora seja um pouco difícil de configurar:

link

Eu acredito que distros populares têm pacotes que irão resolver isso para você, embora eu não tenha usado isso recentemente.

    
por 09.09.2013 / 16:21