Ich kann die Windows-Version von java.exe nicht über BashOnWindows10 ausführen. Es ist in PATH vorhanden, aber der Aufruf schlägt stillschweigend fehl. Mein Ziel ist es, zu vermeiden, dass das JDK / JRE erneut in der WSL installiert werden muss. Während ich das Creator-Update ausführe, hatte ich erwartet, dass Windows-Anwendungen aufgerufen werden können. Irgendwelche Ideen, warum das passiert? Ich kann jedoch die Windows-Installation von Python erfolgreich starten.
Bash
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)
Antworten:
Hier ist, wie ich Java für meine WSL-Installation "nur funktionieren" ließ.
Dadurch wird in Ihrem
/bin
Ordner eine symbolische Verknüpfung zu Ihrer Windows Java-Binärdatei erstellt. Immer wenn die WSL versucht, Java aufzurufen, wird sie zur Windows-Version umgeleitet. Sie müssen den Pfad wahrscheinlich anpassen, wenn sich Java-Versionen in Zukunft ändern.quelle
Command 'Java' not found
: Java - Version gibtjava version "1.8.0_151"
Ich wünschte, ich könnte diese Antwort mit 10 statt 1 Punkten verbessern !Dieses Problem liegt daran, dass die WSL keine Windows-Verknüpfungen im Creator-Update unterstützt.
/mnt/c/ProgramData/Oracle/Java/javapath/java.exe
ist eigentlich eine Verknüpfung zum eigentlichen Installationsverzeichnis, dasC:\Program Files\Java\jre1.8.0_31\bin
in meinem Fall ist. Das Aufrufen von Java über den tatsächlichen Installationspfad scheint wie erwartet zu funktionieren.Dieses Problem wurde in Build 16193 behoben
quelle
Wenn Sie Ihre java.exe im Linux-Subsystem ausführen möchten, können Sie dieser Antwort folgen: https://stackoverflow.com/a/54151117/2751561
Wenn Sie möchten, dass es umgekehrt ist, können Sie den Java-Bin auf cmd wie folgt aufrufen:
quelle