BashOnWindows10에서 Java의 Windows 설치를 사용하는 방법은 무엇입니까? 프로그램을 호출 할 수있을

BashOnWindows10에서 Windows 버전의 java.exe를 실행할 수 없습니다. PATH에 있지만 호출이 자동으로 실패합니다. 저의 목표는 WSL에 JDK / JRE를 다시 설치하지 않아도되는 것입니다. 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)



답변

다음은 WSL 설치를 위해 Java를 “제대로 작동”시키는 방법입니다.

ln -s /mnt/c/Program\ Files\ \(x86\)/Java/jre1.8.0_151/bin/java.exe /bin/java

이것이하는 일은 /bin폴더에 Windows Java 바이너리 에 대한 심볼릭 링크를 만드는 것 입니다. WSL이 지금 Java를 호출하려고 할 때마다 Windows 버전으로 리디렉션됩니다. 나중에 Java 버전이 변경 될 때 경로를 조정해야합니다.


답변

이 문제는 WSL이 Creator 업데이트에서 Windows 바로 가기를 지원하지 않기 때문입니다. /mnt/c/ProgramData/Oracle/Java/javapath/java.exe실제로는 실제 설치 디렉토리에 대한 바로 가기 C:\Program Files\Java\jre1.8.0_31\bin입니다. 실제 설치 경로에서 java를 호출하면 예상대로 작동하는 것 같습니다.

이 문제는 빌드 16193 에서 해결되었습니다.


답변

Linux 하위 시스템에서 java.exe를 실행하려면 https://stackoverflow.com/a/54151117/2751561을 따르십시오.

다른 방법으로 원하는 경우 cmd에서 java bin을 다음과 같이 호출 할 수 있습니다.

wsl java -version


답변