Não consigo executar a versão do java.exe para Windows do BashOnWindows10. Está presente no PATH, mas a chamada falha silenciosamente. Meu objetivo é evitar a instalação do JDK / JRE novamente na WSL. Como eu estou executando a atualização do Criador, eu esperava poder invocar qualquer aplicativo do Windows. Alguma idéia de por que isso está acontecendo? No entanto, sou capaz de iniciar a instalação do Python no Windows com êxito.
bater
username@PC:~$ which java.exe
/mnt/c/ProgramData/Oracle/Java/javapath/java.exe
username@PC:~$ java.exe
username@PC:~$ <<<nothing happens
username@PC:~$ which python.exe
/mnt/c/Python34/python.exe
username@PC:~$ python.exe
Unable to translate current working directory. Using C:\WINDOWS\system32
Python 3.4.0 (v3.4.0:04f714765c13, Mar 16 2014, 19:25:23) [MSC v.1600 64 bit
(AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
cmd.exe
C:\Users\username>java -version
java version "1.8.0_31"
Java(TM) SE Runtime Environment (build 1.8.0_31-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)
Respostas:
Aqui está como eu fiz o Java "simplesmente funcionar" para a minha instalação da WSL.
O que isso faz é criar um link simbólico na sua
/bin
pasta para o seu binário Java do Windows. Sempre que o WSL tenta chamar o Java agora, ele é redirecionado para a versão do Windows. Você provavelmente precisará ajustar o caminho à medida que as versões Java mudarem no futuro.fonte
Command 'Java' not found
- versão dá Depois: Java - versão dájava version "1.8.0_151"
Gostaria de poder responder esta resposta como 10 pontos em vez de 1!Esse problema ocorre porque o WSL não suporta atalhos do Windows na atualização do Criador.
/mnt/c/ProgramData/Oracle/Java/javapath/java.exe
é na verdade um atalho para o diretório de instalação real que estáC:\Program Files\Java\jre1.8.0_31\bin
no meu caso. Invocar o java do caminho de instalação real parece funcionar como esperado.Esse problema foi resolvido na compilação 16193
fonte
Se você deseja executar o seu java.exe dentro do subsistema linux, siga esta resposta: https://stackoverflow.com/a/54151117/2751561
Se você quiser o contrário, pode chamar a java bin no cmd assim:
fonte