मावेन भंडार से स्रोत JARs प्राप्त करें


440

क्या किसी के पास कोई विचार है अगर आप मावेन रिपॉजिटरी पर स्रोत जेएआर पा सकते हैं?


आइडिया में मावेन टूल्स विंडो में निर्भरता पर राइट क्लिक करने से जादू होता है। czak.pl/images/posts/gwt-with-idea-ce/download-sources.png
गायन वीरकुट्टी

जवाबों:


785

मावेन माइक्रो-टिप: स्रोत और Javadocs प्राप्त करें

जब आप एक आईडीई में मावेन का उपयोग कर रहे होते हैं, तो आप अक्सर अपने पुस्तकालय निर्भरता के लिए स्रोत कोड और Javadocs को हल करने के लिए अपनी आईडीई की आवश्यकता पाते हैं। उस लक्ष्य को पूरा करने का एक आसान तरीका है।

mvn dependency:sources
mvn dependency:resolve -Dclassifier=javadoc

पहला कमांड आपकी पोम फाइल में निर्भरता के प्रत्येक के लिए स्रोत कोड डाउनलोड करने का प्रयास करेगा।

दूसरा कमांड Javadocs डाउनलोड करने का प्रयास करेगा।

मावेन यहां के पुस्तकालय पैकर्स की दया पर है। इसलिए उनमें से कुछ के पास स्रोत कोड नहीं होगा और उनमें से कई में जावदोस्क नहीं होंगे।

यदि आपके पास बहुत अधिक निर्भरता है, तो विशिष्ट कलाकृतियों को प्राप्त करने के लिए समावेशन / बहिष्करण का उपयोग करना भी एक अच्छा विचार हो सकता है, निम्नलिखित कमांड उदाहरण के लिए केवल एक विशिष्ट विरूपण साक्ष्य के साथ निर्भरता के लिए स्रोत डाउनलोड करेगा:

mvn dependency:sources -DincludeArtifactIds=guava

स्रोत: http://tedwise.com/2010/01/27/maven-micro-tip-get-sources-and-jadad/

प्रलेखन: https://maven.apache.org/plugins/maven-d dependency-plugin/ source-mojo.html


10
डाउनलोड होने के बाद यह उन्हें कहां रखता है?
जेम्स मूर

15
यह उन्हें M2_HOME के ​​तहत बाइनरी जार के समान निर्देशिका में डालता है।
एलेन ओ'डे

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

1
डाउनलोड होने के बाद मुझे स्रोत और javadocs नहीं मिल रहे हैं। मैंने M2_HOME
पैट्रिक

2
mvn dependency:resolve -Dclassifier=javadocIntelliJ IDEA के बाद स्वचालित रूप से javadocs को नोटिस करता है, जो बहुत अच्छा है।
जोनीक

89

मावेन-एक्लिप्स प्लगइन को कॉन्फ़िगर करना और चलाना, (उदाहरण के लिए कमांड लाइन से mvn eclipse:eclipse)

   <build>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-eclipse-plugin</artifactId>
                <configuration>
                    <downloadSources>true</downloadSources>
                    <downloadJavadocs>true</downloadJavadocs>
                </configuration>
            </plugin>
        </plugins>
    </build>

क्या मतलब? क्या आप इसका मतलब है कि जब आप mvn eclipse:eclipseइसे POM फ़ाइल में जोड़ते हैं तो स्रोत और डॉक्स डाउनलोड होते हैं ?
Lii

3
हाँ। इतना ही आसान।
रोबू

@RobAu, स्रोत को कहाँ से डाउनलोड किया जाएगा, क्या इसे प्रोजेक्ट से जोड़ा जाएगा यह स्वयं या कहीं और है?
जसकी

1
यह आपके M2_REPOxxx के रूप में डाउनलोड किया जाएगा xxxx-yy-source.jar, सामान्य जार के समान स्थान पर। यह पुस्तकालयों में xxxx-yy जार के लिए स्रोत कोड के रूप में संलग्न हो जाएगा
RobAu

1
@KanagaveluSugumar को आपको M2_REPO को ग्रहण में जोड़ने की आवश्यकता है, और फिर परियोजना को ताज़ा करें।
रोबू

36

यदि कोई प्रोजेक्ट प्रोजेक्ट स्रोतों का जार बनाता है और उसे मावेन भंडार में तैनात करता है, तो आप इसे पा लेंगे :)

सिर्फ FYI करें, स्रोत कलाकृतियों को आमतौर पर मावेन-सोर्स-प्लगइन द्वारा बनाया जाता है । यह प्लगइन किसी प्रोजेक्ट के मुख्य या परीक्षण स्रोतों को जार आर्काइव में बाँध सकता है और जैसा कि सोर्स प्लगिन को कॉन्फ़िगर करने में समझाया गया है :

(...) उत्पन्न जार फ़ाइल को finalName"स्रोत" के मान से नाम दिया जाएगा यदि यह मुख्य स्रोत है। अन्यथा, यह finalNameप्लस "-टेस्ट-सोर्स" होगा यदि यह परीक्षण स्रोत हैं।

अतिरिक्त पाठ को एक विरूपण साक्ष्य ("-स्रोत" या "-test- स्रोत") का वर्णन करने के लिए दिया गया था जिसे एक वर्गीकरण कहा जाता है।

एक क्लासिफायराइज़र का उपयोग करने वाले एक विरूपण साक्ष्य पर निर्भरता की घोषणा करने के लिए, बस <classifier>तत्व जोड़ें । उदाहरण के लिए:

<dependency>
  <groupId>org.hibernate</groupId>
  <artifactId>hibernate</artifactId>
  <version>3.2.7.ga</version>
  <classifier>sources</classifier>
</dependency>

ध्यान दें कि आप आम तौर पर ऐसा नहीं करते हैं, अधिकांश IDE मुख्य विरूपण साक्ष्य से स्रोत (और / या JavaDoc) डाउनलोड करने के लिए समर्थन प्रदान करते हैं, बिना स्पष्ट रूप से उन पर निर्भरता घोषित किए।

अंत में, यह भी ध्यान दें कि कुछ रिपॉजिटरी सर्च इंजन क्लासिफायर का उपयोग करके कलाकृतियों की खोज करने की अनुमति देते हैं (कम से कम नेक्सस उन्नत खोज के साथ करता है)। इस खोज को उदाहरण के लिए देखें ।


18

Maven विचार प्लगइन IntelliJ विचार के लिए आपके द्वारा निर्दिष्ट किया जाए या नहीं स्रोतों और जावा दस्तावेज़ का समाधान और डाउनलोड हो जाना चाहिए की अनुमति देता है

mvn idea:idea -DdownloadSources=true -DdownloadJavadocs=true

सभी निर्भरता के लिए स्रोत डाउनलोड करने के बजाय, क्या यह निर्भरता के साथ ही पोम में निर्दिष्ट करके कुछ निर्भरता के लिए बस डाउनलोड करना संभव है, निर्भरता टैग या कुछ समान में कुछ आंतरिक टैग के माध्यम से बी हो सकता है?
नैनोसॉफ्ट

यह प्लगइन रिटायर्ड है
किलटेक

18

कुछ विशिष्ट स्रोत या जावदोक को डाउनलोड करने के लिए हमें GroupIds को शामिल करना होगा - इसका अल्पविराम अलग मूल्य जैसा कि नीचे दिखाया गया है

mvn dependency:sources -DincludeGroupIds=com.jcraft,org.testng -Dclassifier=sources

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

mvn dependency:sources -DincludeGroupIds=com.jcraft,org.testng -Dclassifier=javadoc

सभी निर्भरता के लिए स्रोत डाउनलोड करने के बजाय, क्या यह निर्भरता के साथ ही पोम में निर्दिष्ट करके कुछ निर्भरता के लिए बस डाउनलोड करना संभव है, निर्भरता टैग या कुछ समान में कुछ आंतरिक टैग के माध्यम से बी हो सकता है?
नैनोसॉफ्ट

14

किसी भी कलात्मक उपयोग को डाउनलोड करने के लिए

mvn dependency:get -Dartifact=groupId:artifactId:version:packaging:classifier

ग्रूवी स्रोतों के लिए यह होगा

mvn dependency:get -Dartifact=org.codehaus.groovy:groovy-all:2.4.6:jar:sources

Groovy के javadoc के लिए आप उपयोग करेंगे

mvn dependency:get -Dartifact=org.codehaus.groovy:groovy-all:2.4.6:jar:javadoc

यह दी गई कलाकृतियों को आपके स्थानीय मावेन भंडार में रखता है, अर्थात आमतौर पर $HOME/.m2/repository

dependency:sources सिर्फ प्रोजेक्ट निर्भरता के स्रोतों को डाउनलोड करता है, न ही प्लगइन्स स्रोतों को और न ही प्लगइन्स के अंदर निर्भरता के स्रोतों को।


12

आप इस संबंधित प्रश्न में जानकारी पा सकते हैं: मावेन-प्रबंधित निर्भरताओं के लिए ग्रहण से जुड़ी स्रोत जार फाइलें प्राप्त करें
यदि आप ग्रहण मावेन प्लगइन का उपयोग करते हैं, तो 'मावेन ग्रहण: ग्रहण -डाउनलोड स्रोत' सही 'का उपयोग करें


यह एकमात्र समाधान है जिसने मेरे लिए काम किया। मैं ग्रहण केपलर का उपयोग कर रहा हूं। चूंकि यह .classpath में उचित संदर्भ बनाता है । निम्नलिखित की तरह:
Aspdeepak

<classpathentry kind = "var" path = "M2_REPO / redis / clients / jedis / 2.6.0 / jedis-2.6.0.jar" sourcepath = "M2_REPO / redis / क्लाइंट / jisis / 2.6.0 / jedis-2.6.0 -सूत्र.जर ”>
एस्पडिपक

जब मैंने @ रोबाऊ उत्तर दिया तो केवल हाइबरनेट डॉक्स रेपो से डाउनलोड किए जाते हैं, न कि स्प्रिंग । फिर मैं @ mrembisz को दिए गए लिंक का अनुसरण करता हूं और मावेन वरीयता के लिए परिवर्तन करता हूं और एक आकर्षण की तरह काम करता हूं । मुझे स्प्रिंग डॉक्स मिलते हैं । @Stefan De Boey इसे साझा करने के लिए धन्यवाद। +1।
OO7

9

यदि आप ग्रहण का उपयोग कर रहे हैं, तो आप प्राथमिकताएँ भी खोल सकते हैं> मावेन और डाउनलोड आर्टवर्क स्रोत का चयन करें, इससे pom.xml बरकरार रहेगा और आपके स्रोत या जावा डॉक्स (यदि चयनित हो) को केवल आपके मशीन स्थान / / .m2 पर विकास के लिए रख सकते हैं।


7

ग्रहण में

  1. पर राइट क्लिक करें pom.xml
  2. चुनें Run As-> Maven generate-sources
    यह डिफ़ॉल्ट रूप से .m2 फ़ोल्डर में स्रोत उत्पन्न करेगा

पूर्व-अपेक्षा:

मावेन को ग्रहण के साथ कॉन्फ़िगर किया जाना चाहिए।


1
एक अलग सवाल का जवाब देता है। यह सवाल स्रोत जेएआर डाउनलोड करने के बारे में है जो उन्हें उत्पन्न नहीं कर रहा है।
स्टीफन सी

5

ग्रहण में - तब परियोजना पर क्लिक करें:

यहां छवि विवरण दर्ज करें


मैंने ग्रहण maven सेटिंग में 'डाउनलोड आर्टवर्क सोर्स' अनियंत्रित किया है, इसलिए यह केवल जार डाउनलोड करता है। लेकिन बाद में, मैंने स्रोत डाउनलोड करने के लिए इस समाधान का उपयोग करने की कोशिश की, यह बिना किसी संदेश के विफल हो गया। मैंने मावर लोकल रिपॉजिटरी में जार फोल्डर को हटा दिया और जार को फिर से डाउनलोड किया, फिर सोर्स जार ने सफलता डाउनलोड की। मुझे लगता है कि यह इसलिए है क्योंकि मावेन लोकल रिपॉजिटरी के पास जार है, इसलिए मैं स्रोत को डाउनलोड करने के लिए इस पद्धति का उपयोग नहीं कर सकता।
फ्रैंक

4

यदि आप अपलोड किए गए हैं, तो आप कर सकते हैं। आम तौर पर उन्हें "फ्रेमवर्क-वर्जन-सोर्स (एस)" ​​कहा जाता है


4

नेटबीन्स, संदर्भ-क्लिक

में NetBeans 8 एक Maven संचालित परियोजना के साथ, केवल निर्भरता है जिसमें आप रुचि रखते हैं के जार फ़ाइल सूची आइटम पर संदर्भ क्लिक करें। चुनें Download Sources। एक पल प्रतीक्षा करें और यदि उपलब्ध हो तो NetBeans स्वचालित रूप से स्रोत कोड डाउनलोड और इंस्टॉल करेगा।

इसी तरह आप Download Javadocस्थानीय स्तर पर डॉक प्राप्त करने का विकल्प चुन सकते हैं । फिर आप संपादक में कुछ कोड को संदर्भ दे सकते हैं और JavaDoc को देख सकते हैं।

मावेन द्वारा संचालित नेटबीन्स 8 परियोजना में चुना जा रहा संदर्भ मेनू आइटम "डाउनलोड स्रोत" का स्क्रीन शॉट


3

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

मैंने @ गेब्रियलरैमरेज़ के दृष्टिकोण का उपयोग करते हुए समाप्त कर दिया , लेकिन @ पास्कलथिवेंट के दृष्टिकोण को आगे बढ़ाएगा।


2

यदि आप groupId और aritifactId को जानते हैं , तो आप इस तरह डाउनलोड यूआरएल उत्पन्न कर सकते हैं।

    <dependency>
        <groupId>ch.qos.logback</groupId>
        <artifactId>logback-classic</artifactId>
        <version>1.2.3</version>
    </dependency>

http://central.maven.org/maven2/ch/qos/logback/logback-classic/

और आपको इस तरह से एक पेज मिलेगा, जिस संस्करण को आपकी ज़रूरत है, उसे चुनें! यहां छवि विवरण दर्ज करें

यहां छवि विवरण दर्ज करें


1

मैंने ग्रहण कार्यक्षेत्र में प्रोजेक्ट प्राप्त करने के लिए ग्रहण प्लगइन का भी उपयोग किया है। जब से मैंने एक अलग परियोजना पर काम किया है मैंने देखा कि यह ग्रहण के साथ काम करना संभव है, लेकिन मावेन-ग्रहण-प्लगइन के बिना। यह विभिन्न वातावरणों के साथ उपयोग करना आसान बनाता है और ग्रहण पर मावेन के आसान उपयोग को सक्षम बनाता है। और वह pom.xml-file को बदले बिना।

इसलिए, मैं गेब्रियल रामिरेज़ के दृष्टिकोण की सिफारिश करता हूं।


0

डिबगिंग के लिए आप एक "जावा डेकोम्पॉइलर" का भी उपयोग कर सकते हैं जैसे: जेएडी और मक्खी पर सड़नशील स्रोत (हालांकि उत्पन्न स्रोत कभी भी मूल के समान नहीं है)। फिर ग्रहण या अपने पसंदीदा IDE में JAD को एक प्लगइन के रूप में स्थापित करें।


0

मावेन रिपॉजिटरी स्रोत जार डाउनलोड करने का सरल तरीका प्रदान करते हैं।

मैं इसे "स्प्रिंग-बूट-एक्ट्यूएटर-ऑटोकॉनफिगर" के लिए एक प्रदर्शन का उपयोग करके समझाऊंगा।

  1. मावेन रिपॉजिटरी में जाएं - https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-actuator-autoconfigure
  2. पृष्ठ विभिन्न संस्करणों को सूचीबद्ध करता है। क्लिक-टू-ऑन वांछित, चलो कहते हैं, 2.1.6.RELEASE - https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-actuator-autoconfigure/2.1.RELEASE
  3. पृष्ठ में "फ़ाइलें" के बगल में "सभी देखें" लिंक है। इसे क्लिक करें - https://repo1.maven.org/maven2/org/springframework/boot/spring-boot-actuator-autoconfigure/2.1.6.RELEASE/
  4. पृष्ठ स्रोतों के लिए एक सहित विभिन्न फाइलों को सूचीबद्ध करता है - https://repo1.maven.org/maven2/org/springframework/boot/spring-boot-actuator-autoconfigure/2.1.6.ELEASE/spring-boot-actuator-autoconfigure -2.1.6.RELEASE-sources.jar

अन्यथा, आप हमेशा गितुब से रेपो को "जीट क्लोन" कर सकते हैं, अगर वहां पर और विशिष्ट कोड मिलता है।

जैसा कि दूसरों द्वारा समझाया गया है, आप "mvan निर्भरता: स्रोतों" का उपयोग कर सकते हैं और आपके द्वारा उपयोग की जा रही निर्भरता के लिए स्रोत जार प्राप्त करें।

नोट: कुछ आश्रितों के पास source.jar नहीं होगा, क्योंकि उनमें कोई स्रोत कोड नहीं बल्कि एक pom फ़ाइल है। जैसे वसंत-बूट-स्टार्टर-एक्ट्यूएटर । इस मामले में:

स्टार्टर पीओएम सुविधाजनक निर्भरता वर्णनकर्ताओं का एक समूह है जिसे आप अपने आवेदन में शामिल कर सकते हैं। आपको सैंपल कोड के माध्यम से शिकार करने और निर्भरता विवरणकों के पेस्ट लोड की नकल करने की आवश्यकता के बिना सभी वसंत और संबंधित तकनीक के लिए एक-स्टॉप-शॉप मिलती है।

संदर्भ: स्प्रिंग बूट स्टार्टर्स में परिचय


0

IntelliJ IDEA में आप स्वचालित रूप से डाउनलोड स्रोत विकल्प पर स्विच करके आयात करते समय विरूपण साक्ष्य स्रोतों को स्वचालित रूप से डाउनलोड कर सकते हैं:

SettingsBuild, Execution, DeploymentBuild ToolsMavenImporting

यहां छवि विवरण दर्ज करें


0

यदि आप मैन्युअल रूप से किसी भी आर्टवर्क के लिए सोर्स जार फाइल ढूंढना चाहते हैं, तो विशेष आर्टवर्क के लिए रिपॉजिटरी लोकेशन पर जाएं और फाइल्स में 'व्यू ऑल' पर क्लिक करें। आप स्रोत जार फ़ाइल पा सकते हैं।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.