2012-05-30 13 views
11

पता लगाने में असमर्थ रहा mvn install करने की कोशिश की और यह संदेश मिल गया:javac संकलक

Compilation failure 
Unable to locate the Javac Compiler in: 
    /usr/lib/jvm/java-7-openjdk-amd64/jre/../lib/tools.jar 
Please ensure you are using JDK 1.4 or above and 
not a JRE (the com.sun.tools.javac.Main class is required). 
In most cases you can change the location of your Java 
installation by setting the JAVA_HOME environment variable. 

ठीक है, एक खुला JDK नहीं है, मैं भी एक दूसरे से डाउनलोड किया। मैं दोनों के लिए JAVA_HOME बात करने की कोशिश की, अब यह सेट है:

JAVA_HOME=/usr/lib/jvm/jdk1.7.0_03 
export JAVA_HOME 
PATH=$PATH:$JAVA_HOME/bin 
export PATH 

मैं भी sudo update-alternatives --config java के साथ खुला उन में से एक का चयन करने की कोशिश की लेकिन इसमें विभिन्न JDK संस्करण के साथ एक ही त्रुटि मिली।

मैं इसे कैसे ठीक कर सकता हूं? अग्रिम में धन्यवाद।

+0

"javac -version" और "कौन javac" का आउटपुट क्या है? – Korgen

+1

@ Korgen "javac -version" के बाद मुझे "प्रोग्राम 'javac' निम्नलिखित पैकेजों में पाया जा सकता है" और उनमें से एक को स्थापित करने के लिए एक सुझाव (ठीक है, वहां एक खुला jdk था जो पहले से स्थापित है)। –

+1

क्या आपने बाद में लॉग इन किया है? – dbalakirev

उत्तर

18

ऐसा लगता है कि आपके पैथ को सही तरीके से नहीं चुना गया है ... क्या "echo $ PATH" का आउटपुट उस निर्देशिका में है जहां जावैक रहता है? मैं निम्नलिखित सुझाव है:

खुला टर्मिनल और करना एक:

export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_03 
export PATH=$PATH:$JAVA_HOME/bin 
javac -version 
which javac 

javac -संस्करण अभी भी अपने javac द्विआधारी की ओर इशारा करते/usr/स्थानीय/बिन में एक सिमलिंक बनाने से काम नहीं करता है, तो:

cd /usr/local/bin 
ln -s /usr/lib/jvm/jdk1.7.0_03/bin/javac javac 

इस आप एक चल उठना चाहिए ... एक विकल्प (उदाहरण के लिए या sth "जावा स्थापित apt-get"। इसी तरह) अपने पैकेज प्रबंधन सिस्टम के माध्यम से जावा स्थापित करने की कोशिश करने के लिए है

+0

काम करता है तो मैं लिखूंगा, धन्यवाद, अब मुझे जावा संस्करण मिल गया है, लेकिन मुझे अभी भी संकलन विफलता मिलती है –

+1

क्या आप उसी से मेवेन निष्पादित कर रहे हैं टर्मिनल जहां आपने उपर्युक्त पंक्तियों में प्रवेश किया था? क्या एमवीएन त्रुटि संदेश अभी भी openjdk निर्देशिका या /usr/lib/jvm/jdk1.7.0_03 पर refering है? – Korgen

+0

प्रश्न की टिप्पणियां देखें, समस्या हल हो रही है, लेकिन वैसे भी धन्यवाद, मैं इस उत्तर को जितनी जल्दी हो सके चिह्नित करूंगा। –

0

जेनकिंस से मेवेन बनाने के दौरान मुझे उबंटू मशीन पर भी इसी तरह की त्रुटि का सामना करना पड़ा।

"कार्यक्रम 'javac' निम्न पैकेज में पाया जा सकता: डिफ़ॉल्ट-JDK ECJ gcj-5-JDK openjdk-8-JDK-हेडलेस 'javac -संस्करण' के उत्पादन संदेशों नीचे संकेत देता है तो gcj-4.8-JDK gcj-4.9-JDK openjdk-9-JDK-नेतृत्वहीन प्रयास करें: उपयुक्त स्थापित ""

तो फिर तुम स्थापित कर सकते हैं "openjdk-8-JDK-नेतृत्वहीन का उपयोग कर:

उपयुक्त openjdk-8-jdk-headless

इंस्टॉल करें 0

इसने मेरी समस्या हल की और मेवेन बिल्ड ठीक से चला गया।

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