2012-09-04 25 views
22

में किसी फ़ोल्डर से सभी जार जोड़ना क्या ग्रहण में क्लासपाथ में निर्देशिका के भीतर सभी जार फ़ाइलों को शामिल करने का कोई तरीका है?ग्रहण: जावा क्लासपाथ

यह निम्न आदेश द्वारा आदेश पंक्ति का उपयोग करके किया जा सकता है:

java -cp "lib/*" my.package.Main 

लेकिन कैसे यह ग्रहण से किया जा सकता है?

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

<?xml version="1.0" encoding="UTF-8"?> 
<classpath> 
    <classpathentry kind="src" path="src"/> 
    <classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER"/> 
    <classpathentry kind="lib" path="F:/Program Files/Java/log4j/apache-log4j-2.0-alpha2-bin/*"/> 
    <classpathentry kind="output" path="classes"/> 
</classpath> 

यहाँ F:/Program Files/Java/log4j/apache-log4j-2.0-alpha2-bin/ फ़ोल्डर है जहाँ jar फ़ाइलें हैं: मैं अपने प्रोजेक्ट में .classpath प्रविष्टि floder के रूप में संपादित। लेकिन यह काम नहीं किया।

अद्यतन: ऐसा लगता है कि ऐसा करने का कोई सीधा तरीका नहीं है। और उपयोगकर्ता लाइब्रेरी बनाने का सबसे आसान समाधान हो सकता है।

+0

IntelliJ में करना आसान है: निर्देशिका को लाइब्रेरी स्रोत के रूप में जोड़ें। मुझे यकीन है कि एक्लिप्स में कुछ समतुल्य है। – duffymo

उत्तर

24

अपनी परियोजना के बाहर एक फ़ोल्डर का उपयोग करने के बजाय, सभी आवश्यक JARs को अपनी परियोजना के अंदर lib/ फ़ोल्डर में कॉपी करें।

अब आप उस फ़ोल्डर में सभी जेएआर का चयन कर सकते हैं, राइट क्लिक करें -> पथ बनाएं -> पथ बनाने के लिए जोड़ें।

वैकल्पिक रूप से, आप "उपयोगकर्ता लाइब्रेरी" को परिभाषित कर सकते हैं जिसमें सभी JARs शामिल हैं और उस एकल आइटम को अपने प्रोजेक्ट के निर्माण पथ में जोड़ें।

लेकिन सबसे अच्छा समाधान आईएमओ, इसके लिए मेवेन का उपयोग करना है। ग्रहण के लिए एम 2 ई प्लगइन प्राप्त करें और अपनी परियोजना को एक मेवेन प्रोजेक्ट में कनवर्ट करें। अब आप अपनी परियोजना में लाखों अन्य परियोजनाओं (वे आवश्यकता सहित) जोड़ने के लिए "निर्भरता जोड़ें" का उपयोग कर सकते हैं। मेवेन आपके लिए निर्भरताओं को डाउनलोड और प्रबंधित करेगा।

+0

मेवेन का सुझाव देने के लिए धन्यवाद। मैं कोशिश करूंगा। मेवेन का सुझाव देने के लिए –

+0

+1। –

+0

मेरे पास निर्भरताएं हैं जिनके पास मेवेन रिपोजिटरी नहीं है - उस मामले में आपके सुझाव क्या होंगे? – ProfVersaggi

3

प्लग-इन के बिना नहीं। मुझे नहीं पता कि यह सुविधा ग्रहण का मूल हिस्सा क्यों नहीं है।

https://github.com/benjchristensen/SimpleDirectoryContainer_EclipsePlugin

+0

नया यूआरएल यहां है: https://benjchristensen.wordpress.com/2011/05/26/dynamic-directory-of-jar-files-in-classpath-via-eclipse-plugin – rveach

-1

सही परियोजना के लिए क्लिक करें -> गुण .. -> जावा का निर्माण पथ -> पुस्तकालय -> कक्षा फ़ोल्डर ...

0

ग्रहण में, जोड़ें आप एक उपयोगकर्ता पुस्तकालय आप तरह बनाना चाहते हैं प्रत्येक जार को जड़ में जोड़ना होगा, आप फ़ोल्डर को रिकर्सली में शामिल नहीं कर सकते हैं। लेकिन आप क्लास फ़ोल्डर रिकर्सिव को जोड़ सकते हैं और इसे लाइब्रेरी के रूप में मान सकते हैं। यदि आपकी कंपनी अभी भी मैवेन पर विचार नहीं कर रही है तो यह चीजों को करने का बहुत पुराना स्कूल तरीका है।

सही परियोजना के लिए क्लिक करें -> गुण .. -> जावा का निर्माण पथ -> पुस्तकालय -> कक्षा फ़ोल्डर ... यूसुफ कश्मीर स्ट्रॉस के

उत्तर जोड़ें सही, इस काम करता है मैंने कोशिश की है और यह परीक्षण किया है। कल्पना नहीं कर सकता कि यह क्यों कम हो गया है।