Nie mogę uruchomić wersji java.exe systemu Windows z BashOnWindows10. Jest obecny w PATH, ale wywołanie nie powiedzie się po cichu. Moim celem jest uniknięcie konieczności ponownej instalacji JDK / JRE w WSL. Gdy uruchamiam aktualizację Twórcy, spodziewałem się, że będę mógł wywołać dowolną aplikację Windows. Wszelkie pomysły, dlaczego tak się dzieje? Jestem jednak w stanie pomyślnie uruchomić instalację Pythona w systemie Windows.
grzmotnąć
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)
Odpowiedzi:
Oto jak sprawiłem, że Java „po prostu działa” w mojej instalacji WSL.
Powoduje to utworzenie dowiązania symbolicznego w
/bin
folderze do pliku binarnego Java systemu Windows. Ilekroć WSL próbuje teraz wywołać Javę, jest ona przekierowywana do wersji Windows. Prawdopodobnie będziesz musiał dostosować ścieżkę, ponieważ wersje Java będą się zmieniać w przyszłości.źródło
Command 'Java' not found
Wersja Java daje Po: Wersja Java dajejava version "1.8.0_151"
Chciałbym uzyskać więcej odpowiedzi niż 10 punktów zamiast 1!Ten problem występuje, ponieważ WSL nie obsługuje skrótów Windows w aktualizacji Twórcy.
/mnt/c/ProgramData/Oracle/Java/javapath/java.exe
jest właściwie skrótem do aktualnego katalogu instalacyjnego, coC:\Program Files\Java\jre1.8.0_31\bin
w moim przypadku. Wywołanie Java z rzeczywistej ścieżki instalacji wydaje się działać zgodnie z oczekiwaniami.Ten problem został rozwiązany w kompilacji 16193
źródło
Jeśli chcesz uruchomić plik java.exe w podsystemie Linux, postępuj zgodnie z tą odpowiedzią: https://stackoverflow.com/a/54151117/2751561
Jeśli chcesz inaczej, możesz wywołać bin Java na cmd w następujący sposób:
źródło