Como posso fazer um arquivo .jar executável?

10

Estou tentando executar um aplicativo jar no Ubuntu, então instalei o OpenJDK Java 7 Runtime, mas quando abri este aplicativo, recebi esta mensagem:

The file '/home/aimad/Programms/jMerise/JMerise.jar' is not marked as executable. If this was downloaded or copied from an untrusted source, it may be dangerous to run. For more details, read about the executable bit.

    
por Aimad Majdou 20.03.2013 / 00:07

4 respostas

17

Você sempre pode executar um arquivo jar fazendo java -jar JMerise.jar .

No entanto, para tornar o próprio arquivo jar executável, você precisa definir o bit executável, como a mensagem sugere. chmod +x /home/aimad/Programms/jMerise/JMerise.jar fará isso.

Depois disso, você pode fazer ./JMerise.jar para executá-lo.

man chmod fornecerá informações sobre como o chmod funciona.

Veja também: link

    
por Gary 20.03.2013 / 00:14
7

Clique com o botão direito do mouse no arquivo, clique nas propriedades, vá para a guia Permissões e marque a caixa que diz "Permitir a execução deste arquivo como um programa".

    
por RolandiXor 20.03.2013 / 00:16
3

Primeiro, você precisa ter certeza de que possui um ambiente de tempo de execução Java adequado em seu sistema. O Ubuntu tem o openjdk no repositório oficial que é 99.99% combatível com o Oracle Java, para instalar o tipo:

sudo apt-get install openjdk-7-jre

Em seguida, crie um arquivo chamado java-jar-launcher.desktop in ~/.local/share/applications e coloque o seguinte conteúdo:

[Desktop Entry]
Type=Application
Name=Java Application Launcher
Icon=java
Exec=/usr/bin/java -jar %U
Categories=Application;Java
Terminal=False

Em seguida, adicione a seguinte linha em ~/.local/share/applications/mimeapps.list :

application/x-java-archive=java-jar-launcher.desktop;

Agora você deve apenas clicar duas vezes nos arquivos jar para iniciá-los, se nada acontecer, clique com o botão direito em um arquivo jar, selecione propriedades e vá para a aba "Abrir com" e você verá "Java Application Launcher" , selecione isso.

Este método é preferível (IMHO) porque desta forma você não está dando permissões de execução para arquivos jar que podem ser potencialmente perigosos. Esse método só funcionará em um ambiente gráfico e precisará que o usuário clique duas vezes manualmente no arquivo.

    
por tusharkant15 25.04.2015 / 17:59
0

Se a execução de um arquivo .jar da linha de comando funcionar ( java -jar myFile.jar ), mas clicar duas vezes na GUI, e se sudo chmod +x myFile.jar parecer bem-sucedida, mas você ainda não conseguir abrir com o clique duplo , e se clicar com o botão direito do mouse no arquivo .jar > Propriedades > Permissões > "Permitir a execução do arquivo como programa" não funciona (ou seja, a caixa de seleção é alterada logo depois de você clicar), provavelmente o arquivo .jar está em um sistema de arquivos NTFS, que não permite permissões de execução por arquivo. (Você pode ter esse problema se você tiver dual-boot, por exemplo, e tiver uma partição NTFS compartilhada entre o Ubuntu e o Windows).

A criação de um lançador (como descrito por @ tusharkant15) funcionará porque nos bastidores você está executando /usr/bin/java , não o próprio arquivo .jar. Mover o arquivo .jar para algum outro sistema de arquivos que não seja NTFS também funcionará.

    
por drammock 13.05.2015 / 11:18

Tags