Bagaimana cara menggunakan instalasi windows java dari BashOnWindows10?


10

Saya tidak dapat menjalankan versi windows java.exe dari BashOnWindows10. Itu hadir di PATH, tetapi doa gagal diam-diam. Tujuan saya adalah untuk menghindari menginstal JDK / JRE lagi di WSL. Saat saya menjalankan pembaruan Pencipta, saya mengharapkan untuk dapat menjalankan aplikasi windows apa pun. Adakah ide mengapa ini terjadi? Namun saya berhasil meluncurkan instalasi windows Python.

pesta

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)

Ini tidak terkait dengan Java, itu adalah masalah dengan semua binari Windows. Lihat bug ini untuk diskusi dan beberapa cara mengatasi
eckes

Jawaban:


8

Inilah cara saya membuat Java "berfungsi" untuk instalasi WSL saya.

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

Yang dilakukan adalah membuat tautan simbolik di /binfolder Anda ke biner Windows Java Anda. Setiap kali WSL mencoba memanggil Java sekarang, itu dialihkan ke versi Windows. Anda mungkin perlu menyesuaikan jalur saat versi Java berubah di masa mendatang.


Luar biasa ! Sebelum: Java -versi memberi Command 'Java' not foundSetelah: Java - versi memberi java version "1.8.0_151"Saya berharap saya bisa naik jawaban ini seperti 10 poin, bukan 1!
boardtc

1
Hanya kepala bahwa ini akan "membingungkan" dan jalur yang digunakan dalam program Java Anda atau sebagai properti / input. Misalnya "/tmp/somefile.txt" akan berupa "c: /tmp/somefile.txt" ketika Windows Java Anda mencoba menjalankannya dan menghasilkan file yang tidak ditemukan!
Anders

2

Masalah ini karena WSL tidak mendukung pintasan windows dalam pembaruan Creator. /mnt/c/ProgramData/Oracle/Java/javapath/java.exesebenarnya merupakan jalan pintas ke direktori instalasi aktual yang ada C:\Program Files\Java\jre1.8.0_31\bindalam kasus saya. Meminta java dari jalur instalasi yang sebenarnya tampaknya berfungsi seperti yang diharapkan.

Masalah ini diselesaikan di build 16193


Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.