Я не могу запустить версию java.exe для Windows из BashOnWindows10. Он присутствует в PATH, но вызов молча завершается неудачей. Моя цель - избежать повторной установки JDK / JRE в WSL. Поскольку я запускаю обновление Creator, я ожидал, что он сможет вызвать любое приложение Windows. Есть идеи, почему это происходит? Однако я могу успешно запустить установку Python для Windows.
удар
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)
Ответы:
Вот как я только что сделал Java "просто работать" для моей установки WSL.
Это создает символическую ссылку в вашей
/bin
папке на двоичный файл Windows Java. Всякий раз, когда WSL пытается вызвать Java сейчас, он перенаправляется на версию Windows. Возможно, вам придется скорректировать путь, поскольку версии Java изменятся в будущем.источник
Command 'Java' not found
После: Java - версия даетjava version "1.8.0_151"
Я хотел бы получить этот ответ как 10 баллов вместо 1!Эта проблема связана с тем, что WSL не поддерживает ярлыки Windows в обновлении Creator.
/mnt/c/ProgramData/Oracle/Java/javapath/java.exe
на самом деле это ярлык к каталогу установки, которыйC:\Program Files\Java\jre1.8.0_31\bin
в моем случае. Вызов Java из фактического пути установки, кажется, работает как ожидалось.Эта проблема решена в сборке 16193
источник
Если вы хотите выполнить свой java.exe внутри подсистемы linux, вы можете выполнить следующий ответ: https://stackoverflow.com/a/54151117/2751561
Если вам нужно наоборот, вы можете вызвать java bin на cmd следующим образом:
источник