विंडोज पर अधिक ... चर java.home हमेशा बाइनरी के रूप में एक ही स्थान नहीं है जो चलाया जाता है।
डेनिस खतरा कहते हैं, संस्थापक कहते हैं जावा में फ़ाइलों को प्रोग्राम फ़ाइलें , लेकिन यह भी java.exe में System32 । जावा जावा पथ पर संबंधित कुछ भी नहीं के साथ अभी भी काम कर सकते हैं। हालाँकि जब पीटरमम के कार्यक्रम को चलाया जाता है, तो यह प्रोग्राम फाइल्स के मान को java.home के रूप में रिपोर्ट करता है , यह गलत नहीं है (जावा वहां स्थापित है) लेकिन वास्तविक बाइनरी चलाया जा रहा है जो System32 में स्थित है ।
Java.exe बाइनरी के स्थान का शिकार करने का एक तरीका , प्रोग्राम को कुछ समय के लिए चालू रखने के लिए पीटरमम के कोड में निम्नलिखित पंक्ति जोड़ें:
try{Thread.sleep(60000);}catch(Exception e) {}
संकलित करें और इसे चलाएं, फिर java.exe छवि के स्थान का शिकार करें। उदाहरण के लिए विंडोज 7 में टास्क मैनेजर खोलें, java.exe प्रविष्टि ढूंढें , राइट क्लिक करें और 'ओपन फाइल लोकेशन' चुनें, यह जावा बाइनरी का सटीक स्थान खोलता है। इस मामले में यह System32 होगा ।