No puedo ejecutar la versión de Windows de java.exe desde BashOnWindows10. Está presente en PATH, pero la invocación falla en silencio. Mi objetivo es evitar tener que instalar JDK / JRE nuevamente en WSL. Mientras ejecuto la actualización del Creador, esperaba poder invocar cualquier aplicación de Windows. ¿Alguna idea de por qué está sucediendo esto? Sin embargo, puedo iniciar la instalación de Windows de Python con éxito.
golpetazo
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)
Respuestas:
Así es como acabo de hacer que Java "simplemente funcione" para mi instalación WSL.
Lo que esto hace es crear un enlace simbólico en su
/bin
carpeta a su binario Windows Java. Cada vez que WSL intenta invocar Java ahora, se redirige a la versión de Windows. Probablemente necesitará ajustar la ruta a medida que las versiones de Java cambien en el futuro.fuente
Command 'Java' not found
Después: la versión de Java dajava version "1.8.0_151"
¡Desearía poder aumentar esta respuesta como 10 puntos en lugar de 1!Este problema se debe a que WSL no admite accesos directos de Windows en la actualización del Creador.
/mnt/c/ProgramData/Oracle/Java/javapath/java.exe
es en realidad un acceso directo al directorio de instalación real que estáC:\Program Files\Java\jre1.8.0_31\bin
en mi caso. Invocar a Java desde la ruta de instalación real parece funcionar como se esperaba.Este problema se resuelve en la compilación 16193
fuente
Si desea ejecutar su java.exe dentro del subsistema de Linux, puede seguir esta respuesta: https://stackoverflow.com/a/54151117/2751561
Si quiere lo contrario, puede llamar al java bin en cmd de esta manera:
fuente