Je ne peux pas exécuter la version Windows de java.exe à partir de BashOnWindows10. Il est présent dans PATH, mais l'invocation échoue silencieusement. Mon objectif est d'éviter d'avoir à réinstaller JDK / JRE dans WSL. Alors que j'exécute la mise à jour du Créateur, je m'attendais à ce que le logiciel puisse appeler n'importe quelle application Windows. Des idées pourquoi cela se produit? Je suis cependant capable de lancer avec succès l'installation Windows de Python.
frapper
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)
Réponses:
Voici comment j'ai fait en sorte que Java "fonctionne simplement" pour mon installation WSL.
Cela crée un lien symbolique dans votre
/bin
dossier vers votre binaire Windows Java. Chaque fois que WSL essaie d'invoquer Java maintenant, il est redirigé vers la version Windows. Vous devrez probablement ajuster le chemin à mesure que les versions Java changeront à l'avenir.la source
Command 'Java' not found
- version donne Après: Java - version donnejava version "1.8.0_151"
Je souhaite que je pourrais monter cette réponse comme 10 points au lieu de 1!Ce problème est dû au fait que WSL ne prend pas en charge les raccourcis Windows dans la mise à jour du créateur.
/mnt/c/ProgramData/Oracle/Java/javapath/java.exe
est en fait un raccourci vers le répertoire d'installation réel qui estC:\Program Files\Java\jre1.8.0_31\bin
dans mon cas. L'appel de Java à partir du chemin d'installation réel semble fonctionner comme prévu.Ce problème est résolu dans la version 16193
la source
Si vous souhaitez exécuter votre java.exe à l'intérieur du sous-système linux, vous pouvez suivre cette réponse: https://stackoverflow.com/a/54151117/2751561
Si vous voulez l'inverse, vous pouvez appeler la java bin sur cmd comme ceci:
la source