Não é possível executar arquivos .jar clicando duas vezes no Windows 7

2

A execução de um arquivo .jar na linha de comando funciona bem, mas não consigo executar arquivos .jar no meu PC clicando duas vezes neles . O que é interessante, os mesmos arquivos .jar são executados com sucesso no meu laptop com um clique duplo.

Eu incluí %JAVA_HOME\bin e JDK_HOME\bin na variável PATH .
Eu tenho JAVA_HOME definido como C:\Program Files\Java\jre1.8.0_121 .
Eu tenho JDK_HOME definido como C:\Program Files\Java\jdk1.8.0_121 .

Por algum tempo, o binário Java (TM) Platform SE desapareceu da lista Open with , e eu não consegui adicioná-lo até que eu alterasse a chave HKEY_CLASSES_ROOT\jar_auto_file\shell\open\command em regedit.exe para a versão apropriada:

C:\Program Files\Java\jre1.8.0_121\bin\javaw.exe" "%1".


Aqui está um instantâneo do Windows CMD com java -version inserido no meu PC:


Eu tentei os seguintes métodos, sem sucesso:

  • reinstalando o JRE e o JDK,
  • associando arquivos .jar a C:\Program Files\Java\jre1.8.0_121\bin\javaw.exe ,
  • usando assoc .jar=jarfile e ftype jarfile="C:\Program Files\Java\jre1.8.0_121\bin\javaw.exe" -jar "%1" %* na linha de comando,
  • criando uma nova variável de ambiente do sistema OPENDS_JAVA_ARGS e configurando-a para -jar .


Informações adicionais:

  • Estou usando o Windows 7 Professional de 64 bits (Service Pack 1) com o mais recente atualizações instaladas no meu PC e laptop.
  • Executando arquivos .jar clicando duas vezes neles usados para trabalhar no meu PC, mas de repente parou de trabalhar há algum tempo. Não modifiquei qualquer coisa relacionada a Java.
  • Eu tenho a versão mais recente do JRE e do JDK (Java 8 versão 121).
  • Dos arquivos .jar que estou tentando executar, alguns são aplicativos GUI Swing e alguns abrem o console do sistema (se ainda não estiver aberto) usando Runtime.getRuntime().exec(String[]) .


Eu já tentei consertar este problema com soluções nos seguintes links (sem sucesso):


Notas:

  • Eu não quero abrir arquivos .jar com o WinRAR.
  • Eu não quero abrir arquivos .jar executando java -jar jarfile.jar no cmd.exe.
  • Eu não estou procurando por um aplicativo de terceiros para executar arquivos .jar.


Por enquanto, estou usando C:\Windows\System32\cmd.exe /k "java -jar C:\path\to\jarfile\Program.jar" como um local de atalho para executar arquivos jar, mas não estou satisfeito com esta solução, pois isso abre o console para executar até aplicativos Swing.

Eu fiz a mesma pergunta em stackoverflow , mas foi apontado para mim que o superusuário é mais adequado para esse tipo de pergunta.

    
por dinomario10 02.04.2017 / 13:58

3 respostas

1

Eu encontrei alguém que teve o mesmo problema que você teve hoje. E de alguma forma, consegui consertá-lo, embora não tenha certeza do que consertou; Só posso oferecer-lhe a série aproximada de passos que tomei.

Usando o regedit, descobri que as entradas de registro HKEY_CURRENT_USER e HKEY_LOCAL_MACHINE não estavam de acordo. O HKLM tinha a configuração típica .jar - > jarfile , com jarfile apontando para o caminho correto. HKCU tinha um .jar - > jar_auto_file associação que apontou para um caminho antigo e inválido.

A edição deste caminho não corrigiu isso. Eu também tentei apontar para jarfile , o que também não ajudou. Eu me preocupei com assoc e ftype um pouco para ver se isso poderia ativar o Windows; Eu percebi que a funcionalidade anti-seqüestro de alguma forma impedia o Windows de ouvir o caminho atualizado. Infelizmente, não fez muito.

Então, acabei de excluir a entrada jar_auto_file . Isso me deu uma felicidade parcial: o Windows finalmente percebeu que a entrada no menu Open With era aquela com um caminho de trabalho. (Selecionar o caminho / arquivo correto no passado nunca se ajustaria corretamente.) Infelizmente, o doubleclicking ainda estava quebrado. No entanto, apenas certificando-se de que a caixa 'Sempre abrir este tipo de arquivo com este programa' estava marcada e abri-lo finalmente consertou a associação bem o suficiente para que o duplo clique realmente funcionasse novamente.

    
por 20.05.2017 / 13:33
1

Eu também tive o problema. A solução é ainda mais simples. Adicione o argumento -jar ausente.

Vá para o comando HKEY_CLASSES_ROOT \ jar_auto_file \ shell \ open \ e defina o valor padrão como:

"C:\Program Files\Java\[...]\java.exe" "-jar" "%1" 

Estava faltando a opção "-jar" .

Aproveite!

    
por 13.09.2018 / 10:07
0

Eu tentei todas as etapas acima para resolver o problema, mas nada funcionou. Eu tinha instalado o JDK e o JRE.

No meu caso, um arquivo jar estava sendo aberto com um clique duplo, enquanto outro não estava sendo aberto. Eu examinei esses arquivos e a razão provável era que estava sendo aberto, foi criado usando o JAVA SE 6 e o que não foi aberto foi criado usando o JAVA SE 7. Embora o arquivo jar problemático estivesse sendo executado via prompt de comando (java -jar myfile.jar).

Eu tentei o Right Click - > Propriedades - > Altere para javaw.exe com os diretórios JDK \ bin e JRE \ bin.

Consegui finalmente corrigir o problema alterando o caminho javaw.exe (de JDK \ bin para JRE \ bin) no editor de registro.

Vá para HKEY_CLASSES_ROOT \ jarfile \ shell \ open \ command , o valor é

"C:\Program Files\Java\jdk-11.0.1\bin\javaw.exe" -jar "%1" %*

eu mudei para

"C:\Program Files\Java\jre1.8.0_191\bin\javaw.exe" -jar "%1" %*

e funcionou. Agora o arquivo jar pode ser aberto clicando duas vezes.

    
por 24.10.2018 / 05:13