BashOnWindows10 से जावा की विंडोज़ इंस्टॉलेशन का उपयोग कैसे करें?


10

मैं bashOnWindows10 से java.exe के विंडोज़ संस्करण को चलाने में सक्षम नहीं हूं। यह पीएटीएच में मौजूद है, लेकिन आह्वान चुपचाप विफल रहता है। मेरा लक्ष्य डब्ल्यूएसएल में जेडीके / जेआरई को फिर से स्थापित करने से बचना है। जैसा कि मैं निर्माता के अपडेट को चला रहा हूं, मुझे उम्मीद थी कि मैं किसी भी विंडोज़ एप्लिकेशन को इनवॉइस करने में सक्षम हो सकता हूं। कोई अंदाजा ऐसा क्यों हो रहा है? लेकिन मैं सफलतापूर्वक पायथन की खिड़कियों की स्थापना सफलतापूर्वक शुरू करने में सक्षम हूं।

दे घुमा के

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)

यह जावा से संबंधित नहीं है, यह सभी विंडोज बायनेरिज़ के साथ एक समस्या है। चर्चा और कुछ काम arounds के लिए इस बग देखें: github.com/Microsoft/BashOnWindows/issues/333
Eckes

जवाबों:


8

यहां बताया गया है कि मैंने अपने डब्ल्यूएसएल इंस्टॉलेशन के लिए जावा को "सिर्फ काम" कैसे बनाया।

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

यह जो करता है वह आपके /binफ़ोल्डर में आपके विंडोज जावा बाइनरी के लिए एक प्रतीकात्मक लिंक बनाता है । जब भी डब्लूएसएल जावा को अब लागू करने की कोशिश करता है, तो इसे विंडोज संस्करण पर पुनर्निर्देशित किया जाता है। आपको संभवतः पथ को समायोजित करने की आवश्यकता होगी क्योंकि भविष्य में जावा संस्करण बदलते हैं।


शानदार ! पहले: Java -version दे देता है Command 'Java' not foundबाद में: Java - संस्करण देता है java version "1.8.0_151"काश मैं इस उत्तर को 1 के बजाय 10 अंकों की तरह दे पाता!
14

1
बस एक सिर है कि यह "भ्रमित करेगा" और आपके जावा प्रोग्राम में उपयोग किए गए पथ या गुण / इनपुट के रूप में। उदाहरण के लिए "/tmp/somefile.txt" होगा, जैसे "c: /tmp/somefile.txt" जब आपका Windows Java इसे निष्पादित करने का प्रयास करता है और परिणाम फ़ाइल में नहीं मिलता है!
एंडर्स

2

यह समस्या इसलिए है क्योंकि WSL निर्माता के अद्यतन में विंडोज़ शॉर्टकट का समर्थन नहीं करता है। /mnt/c/ProgramData/Oracle/Java/javapath/java.exeवास्तव में वास्तविक संस्थापन निर्देशिका का शॉर्टकट है जो C:\Program Files\Java\jre1.8.0_31\binमेरे मामले में है। वास्तविक इंस्टॉलेशन पथ से जावा को शामिल करना उम्मीद के मुताबिक काम करता है।

यह समस्या 16193 के निर्माण में हल हो गई है


0

यदि आप अपने java.exe को linux सबसिस्टम के अंदर निष्पादित करना चाहते हैं, तो आप इस उत्तर का अनुसरण कर सकते हैं: https://stackoverflow.com/a/54151117/2751561

यदि आप चाहते हैं कि आपके आसपास का दूसरा रास्ता जावा बिन को cmd पर इस तरह बुला सके:

wsl java -version
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.