2011-02-25 14 views
23

का उपयोग किए बिना जावा में पुस्तकालयों को शामिल करने के लिए कैसे करें मैं नेटबांस जैसे आईडीई का उपयोग किये बिना अपने जावा प्रोग्राम में पुस्तकालय कैसे आयात करूं? Netbeans में मैं इसे इस तरह कार्य करें: enter image description hereआईडीई

कैसे मैं सिर्फ नोटपैड ++ या प्रोग्रामर के नोटपैड का उपयोग करके एक ही बात को प्राप्त कर सकते। जितना संभव हो मैं नेटबीन्स का उपयोग नहीं करना चाहता क्योंकि यह बहुत अधिक होगा क्योंकि मैं केवल सरल परियोजनाओं पर काम कर रहा हूं।

उत्तर

25
javac -classpath external.jar myClass.java 

संपादित करें:

अपने मुख्य वर्ग

package com.mycompany; 
public class myClass 
{ 
... 
... 

तो

आप

एक पैकेज में है, तो

की आवश्यकता होगी
javac -classpath external.jar com/mycompany/myClass.java 

और

चलाने के लिए

java -classpath external.jar com.mycompany.myClass 
+0

अपवाद: java.lang.ClassNotFoundException: Quizzer की वजह से java.security.AccessController.doPrivileged पर Quizzer java.net.URLClassLoader $ 1.run (अज्ञात स्रोत) पर (मूल निवासी विधि) java.net.URLClassLoader.findClass (अज्ञात स्रोत) java.lang.ClassLoader.loadClass (अज्ञात स्रोत) पर sun.misc.Launcher $ AppClassLoader.loadClass पर (अज्ञात स्रोत) पर java.lang.ClassLoader पर .loadClass (अज्ञात स्रोत) मुख्य वर्ग नहीं मिला: प्रश्नोत्तरी। कार्यक्रम बाहर निकल जाएगा। – user225269

+0

क्या आपकी मुख्य कक्षा में पैकेज का नाम है? –

+0

@StackOverflowError - आपको 'जावा' कमांड पर '-classpath' तर्क भी चाहिए। –

2

अपने classpath में जार रखा, classpath एक वातावरण चर रहा है

+0

classpath * एक वातावरण चर के माध्यम से निर्दिष्ट * किया जा सकता है, लेकिन सबसे अच्छा अभ्यास '-classpath' उपयोग करने के लिए है। धागा "मुख्य" java.lang.NoClassDefFoundError में –

1

यकीन है कि जार फ़ाइल अपने classpath में है और आप इंपोर्ट स्टेटमेंट है।

8

@ के अलावा StackOverflowException पद से अधिक फ़ाइलों और स्थानों को जोड़ने भी prefectly ठीक है ...

javac -cp location1/;location2/;file1.jar;file2.jar fileToCompile 

नोट्स ::

-cp और -classpath एक ही बात कर रहे हैं। यदि आप सोलारिस (और कुछ अन्य यूनिक्स स्वाद) पर हैं तो ';' '

6

अन्य सभी पोस्टर स्पॉट पर हैं, आपको बस अपने क्लासपाथ में जार जोड़ने की आवश्यकता है।

जावा क्लासपाथ को स्थापित करने के लिए कई तंत्र प्रदान करता है, जिसमें कमांड लाइन के माध्यम से, एक पर्यावरण चर के माध्यम से, और इसे निष्पादन योग्य जावा जार फ़ाइल के MANIFEST.MF में सेट करने के माध्यम से कई तंत्र प्रदान किए जाते हैं।

यह गर्दन में प्रबंधन के लिए सभी दर्द हैं। तकनीक को जानना और मूल बातें समझना अच्छा होता है। लेकिन वास्तव में उनका उपयोग करने के लिए वास्तव में एक बुरा विचार है।

आपको यह करना चाहिए।

सबसे पहले, अपने सभी जावा पुस्तकालयों को अपने सिस्टम पर एक ही स्थान पर रखें। सी: \ जावा \ पुस्तकालय, या जो भी हो। कुछ जगह जो आपको याद है, कुछ जगह आपकी सभी परियोजनाओं द्वारा सुलभ है।

अगला, अपने सभी संस्करणों का उपयोग करके अपने सभी पुस्तकालयों का नाम दें। यदि आप log4j v1.4.1 का उपयोग करते हैं, तो जार को अपने लाइब्रेरी क्षेत्र में log4j-1.4.1 निर्देशिका में रखें। यह आपको "मुफ़्त" लाइब्रेरी संस्करण प्रदान करता है।

अंत में, चींटी सीखें। सरल परियोजनाओं के लिए, चींटी सरल है। अपने आवेदन को संकलित, परीक्षण और चलाने के लिए Ant build.xml फ़ाइल का उपयोग करें।

क्यों? कई कारण।

क्योंकि एक बार सेट अप करने के लिए, एक नया पुस्तकालय के लिए अपनी परियोजना तुच्छ है जोड़ने, तो आप अपने build.xml करने के लिए एक पंक्ति जोड़ें। चींटी आपको सरल अबास्ट्रक्शन को संभालने देती है (जैसे कि आपके सभी पुस्तकालय स्थित हैं)।

build.xml आत्म निहित है। यदि आप क्लासपाथ के लिए एक पर्यावरण चर का उपयोग करते हैं, तो एक प्रोजेक्ट के लिए क्लासपाथ दूसरे की तुलना में अलग हो सकता है। इसका मतलब पर्यावरण चर को रीसेट करना है। इसे जारी रखें और आप कुछ "नई समस्या" पर शपथ ग्रहण करेंगे जहां यह "पहले काम करता था" क्योंकि ऐसा इसलिए था क्योंकि आपने अपना क्लासपाथ गलत सेट किया था। इसे build.xml में एक बार सेट करें, और इसे भूल जाएं।

चींटी पोर्टेबल है। यह विंडोज़ पर, लिनक्स पर, मैक पर एएस/400 पर चलता है, यह हर जगह चलता है कि जावा रन करता है, शैल स्क्रिप्ट या बीएटी फाइलों के विपरीत।

यह हल्का वजन है। सरल चींटी स्क्रिप्ट सरल हैं। वे उनके साथ बहुत सामान नहीं लाते हैं, आप हमेशा उन्हें डरावना जटिल बना सकते हैं। सिर्फ मेवेन के निर्माण के लिए यह बहुत आसान है।

अधिकांश आईडीई सीधे चींटी का समर्थन करते हैं। यदि आपने आईडीई पर वापस जाने का फैसला किया है, तो अधिकांश न्यूनतम कॉन्फ़िगरेशन के साथ आपकी चींटी बिल्ड फ़ाइल का उपयोग कर सकते हैं।

इस तरह आप नोटपैड के साथ अपने classpath समस्या को हल ++ है। क्लासपाथ कार्यों को स्थापित करना, लेकिन यह काफी दूर नहीं जाता है, यह प्रशासन और प्रबंधन का दर्द है। चींटी की मूल बातें सीखना आपको न्यूनतम काम के साथ बहुत दूर ले जाएगा।

+0

यह काम कर सकता है। लेकिन एक ही स्थान पर अपने सभी जारों को डंप करने का सबसे अच्छा अभ्यास नहीं है। –

3

आप अपने classpath पर डाल चाहिए की तरह

java -classpath someJar.jar YourMainClass

और, ज़ाहिर है, आप javac के लिए एक ही कर सकते हैं।

आप एक से अधिक जार या अपने classpath पर निर्देशिका की आवश्यकता है, तो आप अपने मंच के डिफ़ॉल्ट पथ विभाजक का उपयोग करना होगा। उदाहरण के लिए, विंडोज,

java -classpath someJar.jar;myJar.jar YourMainClass

एक तरफ ध्यान दें पर पर, आप इसे आसान सामान की इस तरह के प्रबंधन के लिए एक IDE उपयोग करने के लिए मिल सकती है। मैंने व्यक्तिगत रूप से केवल मेरे छोटे स्क्रिप्ट योग्य संपादक का उपयोग किया है और ठीक से प्रबंधित किया है। लेकिन यह जानना अच्छा है कि कमांड लाइन द्वारा यह सामान कैसे करें।