BashOnWindows10에서 Java의 Windows 설치를 사용하는 방법은 무엇입니까?


10

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)

Java와 관련이 없으며 모든 Windows 바이너리에 문제가 있습니다. 토론 및 해결 방법은이 버그를 참조하십시오. github.com/Microsoft/BashOnWindows/issues/333
eckes

답변:


8

다음은 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 버전이 변경 될 때 경로를 조정해야합니다.


훌륭합니다 ! 전에 : Java- Command 'Java' not found버전 제공 후 : Java- 버전 제공 java version "1.8.0_151"이 대답을 1 대신 10 포인트처럼 높일 수 있기를 바랍니다!
boardtc

1
Java 프로그램에서 또는 속성 / 입력으로 사용되는 "혼동"및 경로가 있습니다. 예를 들어, Windows Java가이를 실행하려고 할 때 "/tmp/somefile.txt"는 "c : /tmp/somefile.txt"가되며 파일을 찾을 수 없습니다!
Anders

2

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

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


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.