Como posso executar um arquivo .jar no terminal

124

Eu sei que para executar um arquivo, eu uso o .comando, depois o nome do arquivo com um espaço entre eles. Mas estou tentando executar um arquivo .jar usando oe .não funciona. Entrei nas propriedades e marquei-o como executável e o executei com Java.

Existe uma maneira de executar um arquivo com Java no Bash Terminal? Estou tentando executar um arquivo Minecraft.jar

Estou tentando executar o arquivo Minecraft.jar.

jaorizabal
fonte
4
Olá e bem vindo, jaorizabal. Corrigi ligeiramente sua pergunta. Talvez você possa instalar um corretor ortográfico no seu navegador para melhorar a próxima pergunta. Outra dica: para problemas de texto, você pode marcar o texto com o mouse no terminal e colá-lo no campo de edição do seu navegador (e em outros lugares) com um clique do meio na roda de rolagem. Em seguida, você pode fazer o layout do seu código com os botões no campo de edição. Isso é muito mais rápido do que tirar uma captura de tela e enviá-la.
usuário desconhecido

Respostas:

200

A .sintaxe pode ser usada apenas para executar (por "fonte") scripts de shell.

Você precisará usar o javacomando para executar um .jararquivo:

java -jar Minecraft.jar

Se você não tiver o java instalado, poderá corrigi-lo instalando o default-jrepacote ¹. Você pode ver se você já possui o java instalado executando em um terminal:

java -version 

[1]: Isso instalará o tempo de execução Java openjdk padrão. Você pode usar openjdk-8-jreou openjdk-7-jre, openjdk-6-jrese preferir, o que estiver disponível na sua versão do Ubuntu.

Jeremy Kerr
fonte
$ java -jar schemaSpy_5.0.0.jar *** Required parameter '-o' was not specified. ***
Karthik T
31

O Linux é perfeitamente capaz de executar um binário estrangeiro, como um arquivo JAR. É assim que o Wine funciona, por exemplo. Para executar arquivos JAR como executáveis, faça o seguinte em um console

sudo apt-get install binfmt-support

Cd no seu arquivo JAR e altere-o para executável (você também pode fazer isso através das propriedades do arquivo no Nautilus)

chmod a+rx myjar.jar

Execute seu arquivo jar como se fosse qualquer outro executável binário ou script de shell

./myjar.jar

Nota: Certifique-se de ter o módulo do kernel binfmt_misc linux carregado. Se você usar seu kernel compilado personalizado sem esse módulo, o binfmt-support não funcionará.

David
fonte
1
Obrigado! Era exatamente isso que eu estava procurando. É melhor do que usar java -jar porque não requer que o programa host saiba que é um programa java, e é melhor do que usar um script porque você não precisa se preocupar em passar por STDIN e OUT.
Srlm
2
Não funciona no Debian 9: "arquivo inválido (número mágico incorreto): erro de formato Exec"
Paul
16

Se for um jar executável, então

java -jar Minecraft.jar 

Nem todos os jar-Archives contêm uma classe executável, declarada iniciada no arquivo Manifest, mas, se houver, isso funcionará.

Btw .: Você não inicia a maioria dos programas a partir do shell com o ponto. O ponto é um atalho para source, e só funciona no bash e em alguns outros shells, para incluir um script no escopo da sessão atual.

Um xybin binário compilado é simplesmente iniciado com seu nome se estiver no caminho:

xybin 

ou, com seu caminho absoluto:

/home/foo/proj/test/xybin

ou com seu caminho relativo:

proj/test/xybin

ou se você estiver no diretório do arquivo, com este caminho relativo:

./xybin

O arquivo deve ser marcado como executável para você (consulte: chmod). Tudo acima também é válido para shellscripts, mas eles geralmente têm uma extensão .sh, e você pode iniciar um shellscript invocando o intérprete e, em seguida, ele não precisa ser marcado como executável:

 bash xy.sh

Se você não deseja iniciar um novo bash, pode usar a fonte e fazê-lo para consumir definições de funções, aliases e configurações de variáveis.

Usuário desconhecido
fonte
7

Você também pode fazer uma boa entrada para o aplicativo no Unity. execute os seguintes comandos:

gedit ~/.local/share/applications/minecraft.desktop

Na janela exibida, copie e cole o seguinte:

[Desktop Entry]
Type=Application
Name=Minecraft
Comment=Click here to play Minecraft
Exec=java -jar /path/to/minecraft.jar
Icon=/path/to/minecraft/icon.png
Terminal=false
Categories=Game;

Pode ser necessário sair e entrar novamente para ver os efeitos. :) Além disso, você precisa pesquisar na internet um ícone bonito do Minecraft, pois eles não fornecem um com o download ..

Gladen
fonte
4
  1. Abra um prompt de comando com CTRL+ ALT+T
  2. Vá para o diretório de arquivos ".jar". Se a sua versão / sabor do Ubuntu suportar, você poderá clicar com o botão direito do mouse no diretório do arquivo ".jar" e clicar em "Abrir no Terminal"
  3. Digite o seguinte comando:

    java -jar jarfilename.jar

Dessa forma, seu arquivo ".jar" será executado.

víbora
fonte
4

Instale o jarwrapper. Depois disso (e adicionando o bit executável), você pode iniciar o arquivo jar apenas digitando o nome do jarfile.

sudo apt-get install jarwrapper

Isso funciona binfmtpara adicionar suporte a um novo formato binário no kernel.

Thomas Covenant
fonte
3
 java -jar /home/username/.minecraft/launcher.jar
anticristo
fonte
-1

se você deseja instalar seu jar com versão java específica Especifique também o diretório java

/scratch/app/product/Software/jdk1.8.0_112/bin/java -jar /path-to-jar/Minecraft.jar
Rohan Gala
fonte