2012-06-13 9 views
6

के निर्माण में जब मैंने अनबंटू पर जैक्स आरवीएम बनाया, तो मुझे यह त्रुटि मिली। कोई उपाय?"त्रुटि: JAVA_HOME सही ढंग से परिभाषित नहीं किया गया है।" जैक्स आरवीएम

 
bin/buildit localhost production 
---> Config: production 
/bin/bash --login -c '/bin/bash --login -c " cd /home/jack/Programs/jikesrvm-3.1.2 && export JAVA_HOME=/opt/jdk1.6.0 && ant very-clean -Dhost.name=ia32-linux && ant check-components-properties -Dhost.name=ia32-linux -Dtarget.name=ia32-linux -Dcomponents.cache.dir=/home/jack/.buildit_components_cache && ant -Dtarget.name=ia32-linux -Dconfig.name=production -Dhg.revision= -Dhost.name=ia32-linux -Dcomponents.cache.dir=/home/jack/.buildit_components_cache "' 
Error: JAVA_HOME is not defined correctly. 
    We cannot execute /opt/jdk1.6.0/bin/java 
Wed Jun 13 12:23:37 EDT 2012 
===================== Summary ===================== 
Local : /home/jack/Programs/jikesrvm-3.1.2 
Build : ubuntu:/home/jack/Programs/jikesrvm-3.1.2 
Target : ubuntu:/home/jack/Programs/jikesrvm-3.1.2 
Start : Wed Jun 13 12:23:37 EDT 2012 
Config : production [FAILED Wed Jun 13 12:23:37 EDT 2012] 
=================================================== 

ओएस:

Linux ubuntu 2.6.32-24-generiC#39-Ubuntu SMP Wed Jul 28 06:07:29 UTC 2010 i686 GNU/Linux

पर्यावरण चर: पथ

/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/lib/jvm/java-6-sun-1.6.0.22/bin

JAVA_HOME

/usr/lib/jvm/java-6-sun-1.6.0.22

मैं ०१२३९१८०११३ में java जाँचनिर्देशिका, यह काम करता है। कोई फर्क नहीं पड़ता कि मैं पर्यावरण चर कैसे बदलता हूं, त्रुटि शिकायत करती है "हम /opt/jdk1.6.0/bin/java निष्पादित नहीं कर सकते"। ऐसा लगता है कि मैंने सही "स्थिति" को संशोधित नहीं किया है।

कोई सुराग?

धन्यवाद!

उत्तर

7

रन इस आदेश:

find . -exec grep "jdk1.6.0" {} \; 

जो फ़ाइल है कि पथ के लिए JAVA_HOME सेट कर रहा है पता लगाने के लिए।

+0

हाय रॉकी, आपके आदेश के बाद, मैं यह मिल गया: global.javahome.ia32-linux =/opt/jdk1.6.0 global.javahome.x86_64-linux =/opt/jdk1.6.0 लेकिन वे क्या कर रहे हैं? मैं उन्हें कैसे बदल सकता हूं? धन्यवाद! लगता है: – JackWM

+0

माफ करना, मैं तो तुम फ़ाइल उस में परिभाषित किया है देख सकते हैं आप -l विकल्प जोड़ना चाहिए लगता है। -exec grep -l "jdk1.6.0" {} \; जो फ़ाइल नाम मुद्रित करेगा, फिर उस फ़ाइल को संपादित करें। –

+0

मुझे लगता है। वे /bin/buildit.base_config में हैं। उन्हें वास्तविक JAVA_HOME में संशोधित करने के बाद, त्रुटि गायब हो जाती है। धन्यवाद! – JackWM

0

यह जेआरई है लेकिन जेडीके नहीं है। जेडीके स्थापित करें और इसे JAVA_HOME इंगित करें।

+0

आपको लगता है कि कैसे करना है पर एक उदाहरण दे सकते हैं? –

+0

आपका मतलब है कि जेडीके कैसे स्थापित करें? बस इसे भंडार से ले लो। JAVA_HOME को एक चर के रूप में खोल में निर्यात किया जा सकता है। –

3

जब आप जैक्स बनाते हैं तो आप या तो चींटी का उपयोग करके या आप जिस कमांड का उपयोग कर रहे हैं उसका उपयोग कर बना सकते हैं। JAVA_HOME समस्या मुसीबत उपयोग आ रही हैं तो

bin/buildit localhost production -j"path to your jvm directory" 

-यह "/usr/bin/jvm" में मौजूद है।

एक अन्य विधि: बिन/buildit.base_config है जिसमें JAVA_HOME के ​​लिए पथ का विशेष रूप से उल्लेख किया गया है। तो "# Default JAVA_HOME values" के अंतर्गत आप उचित स्थान, उदाहरण के लिए संशोधित कर सकते हैं,

global.javahome.ppc32-linux=/usr/lib/jvm/java-6-sun-1.6.0.26 
global.javahome.ppc64-linux=/usr/lib/jvm/java-6-sun-1.6.0.26 
global.javahome.ia32-linux=/usr/lib/jvm/java-6-sun-1.6.0.26 
global.javahome.x86_64-linux=/usr/lib/jvm/java-6-sun-1.6.0.26 

आप चुन सकते हैं जो आप उपयोग करना चाहते। यदि आपके आर्किटेक्चर से परिचित नहीं है, तो सभी को संशोधित करें और अब आप स्पष्ट रूप से वर्णित अपने जावा पथ के बारे में चिंता किए बिना निर्माण कर सकते हैं। अधिक विस्तृत जानकारी के लिए this blog

मैं भी कारणों की जोड़ी की वजह से कैसे एक start to fiddle with Jikes

+0

@jackWM: वहाँ वर्तमान में jikes में बग है, जबकि यह openjdk 7 के साथ निर्माण और उसके संस्करण 6 के साथ ठीक काम कर रहा है, तो 6 संस्करण का उपयोग करें। – Rorschach

-1

आपको यह त्रुटि प्राप्त हो सकता है कर सकते हैं पर एक छोटा सा लेख लिखा है। इसे जल्दी से ठीक करने के लिए कृपया नीचे दिए गए चरणों का पालन करें,

पहले जावा स्थान ढूंढें।अपने स्थापित जावा प्लेटफार्मों की एक सूची प्राप्त करने के लिए, टर्मिनल से निम्नलिखित कमांड चलाएँ:

$ sudo update-alternatives --config java 

अब सेट JAVA_HOME और पथ,

$ export JAVA_HOME=<java_home> 

$ export PATH=$JAVA_HOME/jre/bin:$PATH 

सिमलिंक

$ sudo ln -s <java_home>/jre <java_symlink_path> 

जब हम बनाएं एक उदाहरण के रूप में अपने मामले ले:

$ sudo ln -s /usr/lib/jvm/java-6-sun-1.6.0.22/jre /opt/jdk1.6.0 

उपरोक्त आदेश symlink स्थान बनाएगा जहां सिस्टम आपकी समस्या में खोजने का प्रयास कर रहा है।

अंत में अपने अनुप्रयोग की कोशिश करते हैं।

संबंधित मुद्दे