UBUNTU

2012-11-12 13 views
6

में जेएआर क्लास पथ जोड़ना यह एक आम सवाल हो सकता है लेकिन मैं UBUNTU में एक JAR फ़ाइल के लिए क्लास पथ जोड़ने में सक्षम नहीं हूं।UBUNTU

जावा यहाँ स्थित है:: मैं सभी विवरण मैं जानता हूँ कि नीचे दी गई है which java आदेश के ओ/पी है - /usr/bin/java

sudo vim /etc/bash.bashrc 
export CLASSPATH=$CLASSPATH:/downloads/aws-java-sdk-1.3.24/lib/aws-java-sdk-1.3.24.jar 

पुनश्च: डाउनलोड फ़ोल्डर जड़

sudo vim /etc/environment 
CLASSPATH="/usr/lib/jvm/jdk1.7.0/lib: /downloads/aws-java-sdk-1.3.24/lib/aws-java-sdk-1.3.24.jar:" 
के तहत सीधे है

जैसा कि आप देख सकते हैं, मैंने bashrc और etc/environment में क्लास पथ जोड़ा है ... लेकिन अभी भी S3Sample.java चलाने की कोशिश करते समय मुझे त्रुटि मिल रही है जो जावा के लिए awssdk के साथ आता है।

जब मैं जावा फ़ाइल संकलन, मैं निम्नलिखित त्रुटियाँ मिलती है:

[email protected]:/downloads/aws-java-sdk-1.3.24/samples/AmazonS3$ javac S3Sample.java 

S3Sample.java:25: error: package com.amazonaws does not exist 
import com.amazonaws.AmazonClientException; 

अब, मैं स्पष्ट रूप से समझते हैं कि JAR फ़ाइल वर्ग पथ के लिए नहीं जोड़ा गया है और इसलिए मैं त्रुटि नहीं मिल रहा है। मैं भी वर्ग पथ विकल्प के साथ javac की कोशिश की है - लेकिन यह काम नहीं करता है :(

पुनश्च: जावा घर ठीक से सेट है अन्य जावा कार्यक्रमों को ठीक से काम के रूप में

+0

गूंज $ CLASSPATH का परिणाम क्या है? और क्या आपने क्लासपाथ विकल्प के साथ चलने का प्रयास किया है? – Perception

+0

@ धारणा मैंने इस आदेश को आजमाया - javac -cp '।: Abc.jar' test.java ... यह ठीक काम करता है लेकिन मैं एक के बजाय कई जेएआर फाइलों को निर्दिष्ट करना चाहता हूं। क्या उसके लिए आपके द्वारा मेरी मदद की जाएगी? – user1736333

उत्तर

7

classpath सेट करने के लिए, यह सबसे अधिक है। जब javac और java बुला मामलों बेहतर -cp या -classpath तर्क का उपयोग करने के लिए। यह आप और अधिक लचीलापन विभिन्न जावा अनुप्रयोगों के लिए विभिन्न classpaths उपयोग करने के लिए देता है।

-cp और -classpath तर्क के साथ अपने classpath कई जार और कई स्थानों अलग हो सकते हैंके साथ(कोलन)

javac -cp ".:/somewhere/A.jar:/elsewhere/B.jar" MyClass.java 
java -cp ".:/somewhere/A.jar:/elsewhere/B.jar" MyClass 

उदाहरण में classpath प्रविष्टि वर्तमान कार्यशील निर्देशिका (.) को रोकने के लिए classpath, और दो जार फ़ाइलों A.jar और B.jar सेट।

आप कर सकते हैं आप CLASSPATH वातावरण चर उपयोग करना चाहते हैं

export CLASSPATH=".:/somewhere/A.jar:/elsewhere/B.jar" 
javac MyClass.java 
java MyClass