मावेन निर्भरता 501 त्रुटि के साथ विफल हो रही है


154

हाल ही में जेनकिन्स में चल रहे मावेन बिल्ड जॉब्स नीचे दिए गए अपवादों के साथ यह कहते हुए असफल हो रहे हैं कि वे मावेन सेंट्रल से निर्भरता नहीं खींच सकते हैं और उन्हें एचटीटीपीएस का उपयोग करना चाहिए । मुझे यकीन नहीं है कि HTTP से HTTPS में अनुरोध कैसे बदलें । क्या कोई इस मामले पर मेरा मार्गदर्शन कर सकता है?

[त्रुटि] अप्रतिरोध्य निर्माण विस्तार:
प्लगिन org.apache.maven.wagon:wagon-ssh:2.1या इसकी निर्भरता में से किसी एक को हल नहीं किया जा सकता है: इसके
लिए निर्भरता एकत्र करने में विफल org.apache.maven.wagon:wagon-ssh:jar:2.1 (): के
लिए विरूपण साक्ष्य विवरण पढ़ने में विफल org.apache.maven.wagon:wagon-ssh:jar:2.1: से
कलाकृतियों org.apache.maven.wagon:wagon-ssh:pom:2.1को केंद्रीय / ( http: //po.m.maven.apache) में स्थानांतरित नहीं किया जा सकता है । org / maven2 ):
फ़ाइल स्थानांतरित करने में विफल: http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/2.1/wagon-sshp.1.pom
रिटर्न कोड है:501, ReasonPhrase:HTTPS Required. -> [Help 2]

के लिए प्रतीक्षा कर जेनकींस का संग्रह समाप्त करने के लिए data[ERROR]
प्लगइन org.apache.maven.plugins:maven-clean-plugin:2.4.1या उसके निर्भरता से एक हल नहीं किया जा सकता है:
के लिए विरूपण साक्ष्य वर्णनकर्ता पढ़ने में असफल org.apache.maven.plugins:maven-clean-plugin:jar:2.4.1:
नहीं हस्तांतरण विरूपण साक्ष्य सका org.apache.maven.plugins:maven-clean-plugin:pom:2.4.1/ से करने के लिए केंद्रीय ( http://repo.maven.apache.org/maven2 :)
करने में विफल स्थानांतरण फ़ाइल: http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.4.1/maven-clean-plugin-2.4.1.pom
रिटर्न कोड है:501 , ReasonPhrase:HTTPS Required. -> [Help 1]


5
आप maven केंद्रीय से कनेक्ट करने के लिए repo.maven.apache.org/maven2 url का उपयोग कर रहे हैं , इसके बजाय repo.maven.apache.org/maven2 का उपयोग करें अर्थात https कनेक्शन का उपयोग करें
मंजूनाथ एचएम


हाय मंजुनाथ, मुझे भी यही समस्या है। क्या आप जानते हैं कि HTTP के बजाय HTTPS का उपयोग करने के लिए मावेन को कैसे मजबूर किया जाता है
लाहिरु मदुशंका

@ लाहिरु मदुशंका लिंक के माध्यम से जाते हैं, इसलिए आपको अपने प्रश्न के लिए एक उत्तर मिलता है stackoverflow.com/questions/25393298/…
मंजूनाथ एचएम

1
मैंने
मावेन

जवाबों:


129

अवलोकन की गई त्रुटि का कारण मध्य 501 HTTPS आवश्यक में बताया गया है

15 जनवरी, 2020 से प्रभावी, केंद्रीय रिपॉजिटरी अब सादे HTTP पर असुरक्षित संचार का समर्थन नहीं करती है और इसके लिए आवश्यक है कि रिपॉजिटरी के सभी अनुरोध HTTPS पर एन्क्रिप्ट किए गए हों।

यह मावेन के नवीनतम संस्करणों की तरह दिखता है (3.6.0, 3.6.1 के साथ प्रयास) पहले से ही डिफ़ॉल्ट रूप से HTTPS URL का उपयोग कर रहे हैं।

यहां वे तिथियां हैं जब प्रमुख रिपॉजिटरी स्विच करेंगे:

आपका जावा बिल्ड 13 जनवरी से शुरू हो सकता है (यदि आपने अभी तक HTTPS में रेपो एक्सेस को स्विच नहीं किया है)

अद्यतन: मावेन 3.2.3 मावेन केंद्रीय की तरह लगता है HTTPS देखें के माध्यम से पहुँचा है https://stackoverflow.com/a/25411658/5820670

मेवेन चेंज लॉग ( http://maven.apache.org/docs/3.2.3/release-notes.html )


26
नमस्ते! मैं मूल शोधकर्ता हूं जिसने इस उद्योग की व्यापक पहल को लात मारी। आप यहाँ महत्वपूर्ण तिथियों के बारे में मेरे ब्लॉग पोस्ट को पा सकते हैं: medium.com/@jonathan.leitschuh/…
जोनाथन Leitschuh

1
@JonathanLeitschuh कृपया एक पूर्ण उत्तर लिखें जिस पर वोट दिया जा सकता है और स्वीकार किया जा सकता है ...
Thorbjørn Ravn Andersen

1
मैं Ubuntu 18.04 पर 3.6.0 maven का उपयोग कर रहा हूं, लेकिन यह https url का उपयोग नहीं करता है।
आशुतोष

@ आशुतोष: उबंटू 19.10 को मावेन 3.6.1 के साथ वहीं। मुझे यकीन नहीं है कि ऐसा क्यों है, यह एक Ubuntu पैच हो सकता है, लेकिन वे ऐसा क्यों करेंगे?)। इसे हल करने के लिए, नीचे दिए गए किसी भी उत्तर का उपयोग करें जो settings.xmlफ़ाइल को अपडेट करते हैं (और उन्हें अपवोट करें, कृपया, यह सही समाधान है, पैच किए गए मावेन का उपयोग करने के अलावा)।
Guss

इसलिए, मैंने स्पष्ट रूप settings.xmlसे HTTPS रिपॉजिटरी का उपयोग करने के लिए कॉन्फ़िगर किया है .. जो कि यह कर सकता है, wgetलेकिन कुछ बहुत ही अजीब कारण के लिए, mvn archetype:generate -X(सिर्फ यह परीक्षण करने के लिए कि क्या निर्भरताएं डाउनलोड की जा सकती हैं) यह अभी भी प्रिंट करता है यह Downloading: http://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-clean-plugin/2.5/maven-clean-plugin-2.5.pom किसी भी मदद तक पहुंच रहा है , कृपया ..?
जियोर्गी सिकलौरी

61

मैं भी ऐसी ही समस्या का सामना कर रहा हूँ। वहाँ दो समाधान है कि मैं कोशिश की है, और दोनों मेरे लिए ठीक काम करता है।

  • मावेन संस्करण रिपॉजिटरी को अद्यतन करें (मावेन संस्करण> = 3.2.3)
  • HTTPS लिंक का उपयोग करने के लिए वर्तमान मावेन संस्करण को प्रतिबंधित करें।

मावेन संस्करण रिपॉजिटरी को अपडेट करें:

अपाचे मावेन बाइनरी डाउनलोड करें जिसमें डिफ़ॉल्ट https पते ( अपाचे मावेन 3.6.3 बाइनरी ) शामिल हैं। और NetBeans मेनू बार के टूल में विकल्प संवाद विंडो खोलें ( जावा मावेन डायलॉग व्यू ) के । और Maven Home List Box ( मावेन होम लिस्ट बॉक्स व्यू ) में ब्राउज़ विकल्प चुनें । अपाचे मावेन के नए डाउनलोड किए गए संस्करण को जोड़ने के बाद ( मावेन होम लिस्ट बॉक्स व्यू देखें ) को , प्रोजेक्ट सफलतापूर्वक बनाता और चलता है।

HTTPS लिंक का उपयोग करने के लिए वर्तमान मावेन संस्करण को प्रतिबंधित करें:

अपनी परियोजना के pom.xml में निम्नलिखित कोड शामिल करें ।

<project>
      ...
    <pluginRepositories>
        <pluginRepository>
            <id>central</id>
            <name>Central Repository</name>
            <url>https://repo.maven.apache.org/maven2</url>
            <layout>default</layout>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
            <releases>
                <updatePolicy>never</updatePolicy>
            </releases>
        </pluginRepository>
    </pluginRepositories>
    <repositories>
        <repository>
            <id>central</id>
            <name>Central Repository</name>
            <url>https://repo.maven.apache.org/maven2</url>
            <layout>default</layout>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
</project>

मेरे पास सेंट्रल रिपॉजिटरी थी लेकिन सेंट्रल प्लगइन रिपॉजिटरी नहीं। उसने मेरे लिए इसे हल कर दिया।
ponder275

1
HTTPS लिंक का उपयोग करने के लिए वर्तमान मावेन संस्करण को प्रतिबंधित करें: मेरे लिए काम किया।
मोहम्मद अनस

मेरे मामले में मैं <pluginRepository> भाग से चूक गया और जब मैं प्लगइन्स के लिए http को डिफ़ॉल्ट कर रहा था, तो इसका उपयोग करते समय मुझे त्रुटियाँ मिल रही थीं।
user1708042

यह मेरे लिए भी तय किया गया था, लेकिन मुझे एक और त्रुटि "प्राप्त घातक अलर्ट: प्रोटोकॉल_वॉर्सन" मिली और इसे ठीक करने के लिए जावा 8 पर स्विच करना पड़ा, इस मामले में कि कोई भी एक ही मुद्दे पर ठोकर खाता है।
किम तांग

मुझे खुशी है कि मैंने टाई को तोड़ने में योगदान दिया। यह जवाब उसी तरह के मुद्दे को संबोधित करता है जो मैं अनुभव कर रहा था।
ब्रायन रिस्क

36

15 जनवरी, 2020 से प्रभावी, केंद्रीय रिपॉजिटरी अब सादे HTTP पर असुरक्षित संचार का समर्थन नहीं करती है और इसके लिए आवश्यक है कि रिपॉजिटरी के सभी अनुरोधों को एन्क्रिप्ट किया गया हो HTTPS

यदि आप यह त्रुटि प्राप्त कर रहे हैं, तो आपको अपने कैनोनिकल HTTPS समकक्षों के साथ Maven Central के सभी URL संदर्भों को बदलने की आवश्यकता है।

( स्रोत )

हमने अपनी परियोजना build.gradle में निम्नलिखित बदलाव किए हैं:

पुराना:

repositories {
   maven { url "http://repo.maven.apache.org/maven2" }
}

नया:

repositories {
   maven { url "https://repo.maven.apache.org/maven2" }
}

हां, मैंने सेटिंग। Xml फ़ाइल में प्रतिस्थापित किया है लेकिन दुर्भाग्य से यह अभी भी काम नहीं कर रहा है। क्या मैं सही कर रहा हूं या कोई और फाइल बदलने की जरूरत है?
सुमीत विश्वास

@SumeetVishwas क्या आप एक नमूना सेटिंग साझा कर सकते हैं। Xml फ़ाइल?
अरुण सुगनकुमार

3
@ArunanSugunakumar i ने सेटिंग्स में परिवर्तन नहीं किया। xml आपको POM में परिवर्तन करने की आवश्यकता है। मावेन के केंद्रीय भंडार को अद्यतन करें। मैंने उत्तर धागे में केंद्रीय भंडार का नमूना रखा। कृपया नीचे
पाएं

1
ओपी का प्रश्न कहता है, "मुझे यकीन नहीं है कि HTTP से HTTPS में अनुरोध कैसे बदलें।" यह उत्तर प्रश्न को संबोधित नहीं करता है।
wchargin

28

किसी भी ब्राउज़र में नीचे दिए गए URL को हिट करने का प्रयास करें। यह 501 को लौटाएगा

http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/2.1/wagon-ssh-2.1.pom

कृपया https के साथ प्रयास करें। यह एक pom.xml फ़ाइल डाउनलोड करेगा:

https://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/2.1/wagon-ssh-2.1.pom

कृपया इसे ( https://repo.maven.apache.org/maven2 ) सेटिंग.xml फ़ाइल में जोड़ें:

<repositories>
   <repository>
      <id>Central Maven repository</id>
      <name>Central Maven repository https</name>
      <url>https://repo.maven.apache.org/maven2</url>
   </repository>
</repositories>

1
क्या आप पूरी सेटिंग का उदाहरण दे सकते हैं। xml जैसा कि मैंने फ़ाइल में उपरोक्त जोड़ने की असफल कोशिश की है?
jhertz

यह उत्तर मिला कि फ़ाइल में स्थान स्पष्ट कर दिया, अब यह काम करता है: stackoverflow.com/a/59784045/3120576
jhertz

22

मावेन के केंद्रीय भंडार को अपडेट करें और http के बजाय https का उपयोग करें

<repositories>
    <repository>
        <id>central</id>
        <name>Central Repository</name>
        <url>https://repo.maven.apache.org/maven2</url>
        <layout>default</layout>
        <snapshots>
            <enabled>false</enabled>
        </snapshots>
    </repository>
</repositories>

मैंने इसे पोम में आज़माया और इसने अच्छी तरह से काम किया: <repositories> <repository> <id> Central repo https </ id> <name> Central Repository Https </ name> <url> repo.maven.apl.org/maven2</ url > </ repository> </ repositories>।
लाम

1
धन्यवाद। यह Netbeans का उपयोग करते हुए ubuntu 18.10 में काम कर रहा है। नेटवेन्स में मावेन को नवीनतम मावेन संस्करण में स्थापित करना था। आपको यह समाधान कहां मिला?
सांवल एस

आपको प्लगइन रिपॉजिटरी को भी अपडेट करना पड़ सकता है। तय किए जाने के लिए कम से कम यह मेरे लिए भी किया जाना था।
किम तांग

16

मैं एक डॉकटर कंटेनर पर मावेन / जावा की एक साफ स्थापना का उपयोग कर रहा था।

मेरे लिए, मुझे वहाँ फ़ाइल को cd $M2_HOME/confसंपादित और संपादित करना settings.xmlथा। निम्नलिखित ब्लॉक को अंदर जोड़ें<mirrors>...</mirrors>

<mirror>
  <id>central-secure</id>
  <url>https://repo.maven.apache.org/maven2</url>
  <mirrorOf>central</mirrorOf>
</mirror>

क्या आप कृपया अपना डॉकरीफाइल साझा कर सकते हैं? मैं एक ही मुद्दा है, लेकिन मैं नहीं जानता कि कैसे तय करने के लिए!
हान वान फाम

@HanVanPham मैंने अपने maven को नवीनतम संस्करण में अपडेट किया है, यह http समस्या को ठीक करता है।
mehulmpt

मेरे लिए भी स्थानीय सेटिंग में केंद्रीय-सुरक्षित ब्लॉक का अनुकूलन। xml ($ HOME / .m2 / settings.xml) फ़ाइल पूरी तरह से काम करती थी।
t3az0r

13

मैं मावेन (3.0.3 और 3.1) के पुराने संस्करण का उपयोग कर रहा था। ये पुराने संस्करण अब http रिपॉजिटरी (जैसा कि ऊपर बताया गया है) का समर्थन नहीं करता है। Maven 3.6 को अपग्रेड करना मेरे लिए फिक्स था।



12

मावेन HTTPS के लिए आगे बढ़ रहा है और HTTP एक्सेस को अक्षम कर रहा है

लघु कहानी, 15 जनवरी, 2020 से, मावेन सेंट्रल रिपॉजिटरी अब HTTP कनेक्शन का समर्थन नहीं कर रही है (अन्य रिपॉजिटरी भी ऐसा ही कर रही हैं)। इसलिए, आप HTTPS URL का उपयोग करने के लिए अपने Maven / Gradle सेटिंग्स को इंगित करेंगे।

समाधान:

आप निम्नलिखित तीन दृष्टिकोणों में से एक चुन सकते हैं।

  1. अपनी प्रोजेक्ट pom.xmlफ़ाइल में एक रिपॉजिटरी जोड़ें

    <project>
    ...
      <repositories>
        <repository>
          <id>central maven repo</id>
          <name>central maven repo https</name>
          <url>https://repo.maven.apache.org/maven2</url>
        </repository>
      </repositories>
    </project>
  2. settings.xmlफ़ाइल में एक प्रोफ़ाइल में रिपॉजिटरी जोड़ें ।

    <profile>
      <id>my profile</id>
      <repositories>
        <repository>
          <id>central maven repo</id>
          <name>central maven repo https</name>
          <url>https://repo.maven.apache.org/maven2</url>
          </repository>
      </repositories>
    </profile>
  3. आप एक नए संस्करण में मावेन संस्करण को अपडेट करें जो कि डिफ़ॉल्ट रूप से https मानों का उपयोग करता है। इस समय सबसे अंतिम 3.6.3 डाउनलोड करें

ग्रेडेल के लिए:

केवल HTTPS संस्करण के लिए URL बदलें।

repositories {
   maven { url "https://repo.maven.apache.org/maven2" }
}

अपग्रेड करने के लिए (3.3.9 से 3.6.3) क्या आपको पहले पुराने संस्करण को पूरी तरह से अनइंस्टॉल करने की आवश्यकता है? या बस नवीनतम संस्करण स्थापित करें?
BigRedEO

1
@BigRedEO आपके वातावरण में एक से अधिक maven संस्करण हो सकते हैं। हालांकि, आपके $M2_HOMEया आपके $PATH एनवी चर केवल उनमें से एक को इंगित करेंगे, जो आपका डिफ़ॉल्ट मावेन संस्करण होगा। मैं नया स्थापित करने से पहले पुराने को अनइंस्टॉल करना पसंद करूंगा। लेकिन, यह आपकी आवश्यकताओं पर निर्भर करता है।
एडम एम। गामबो जी।

10

मुझे कोड सेगमेंट में सेटिंग। Xml में जोड़ा गया था और यह समस्या हल हो गई थी,

<mirrors>
    <mirror>
        <id>maven-mirror</id>
        <name>Maven Mirror</name>
        <url>https://repo.maven.apache.org/maven2</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
</mirrors>

9

मेरे पास एक ही मुद्दा है, लेकिन मैं जेनकिंस के बजाय गिटलैब का उपयोग करता हूं । इस मुद्दे पर काबू पाने के लिए मुझे जो कदम उठाने थे:

  1. मेरा प्रोजेक्ट GitLab में है, इसलिए यह .yml फ़ाइल का उपयोग करता है जो एक डॉकियर छवि को इंगित करता है जिसे मुझे निरंतर एकीकरण करना है, और इसका उपयोग करने वाली छवि में http: // maven URL हैं। इसलिए मैंने उसे बदलकर https: // maven कर दिया
  2. उसी डॉकरीफाइल छवि में मावेन 3.0.1 का एक पुराना संस्करण था जिसने मुझे सिर्फ रात भर के लिए समस्या दी। मैंने नवीनतम संस्करण 3.6.3 प्राप्त करने के लिए डॉकरफाइल को अपडेट किया
  3. मैंने तब अपनी ऑनलाइन रिपॉजिटरी में उस छवि को तैनात किया, और उस नई छवि का उपयोग करने के लिए अपने मावेन प्रोजेक्ट ymlfile को अपडेट किया।
  4. और अंत में, मैं संदर्भ के लिए अपने मुख्य परियोजनाओं पोम फ़ाइल अद्यतन https: // Maven ... के बजाय http: // Maven

मुझे एहसास हुआ कि यह मेरे सेटअप के लिए अधिक विशिष्ट है। लेकिन उपरोक्त सभी चरणों को किए बिना मैं अभी भी इस त्रुटि संदेश को प्राप्त करना जारी रखूंगा Return code is: 501 , ReasonPhrase:HTTPS Required


क्या आप कृपया अपना डॉकरीफाइल साझा कर सकते हैं?
हान वान फाम

8

जैसा कि अन्य उत्तरों में कहा गया है, https को अब मावेन सेंट्रल से अनुरोध करने की आवश्यकता है, जबकि मावेन के पुराने संस्करण http का उपयोग करते हैं ।

यदि आप मावेन 3.2.3+ पर अपग्रेड नहीं करना चाहते / कर सकते हैं, तो आप निम्न कोड को अपने MAVEN_HOME \ conf \ settings.xml<profiles> अनुभाग में जोड़कर एक वर्कअराउंड कर सकते हैं :

<profile>
    <id>maven-https</id>
    <activation>
        <activeByDefault>true</activeByDefault>
    </activation>
    <repositories>
        <repository>
            <id>central</id>
            <url>https://repo1.maven.org/maven2</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>central</id>
            <url>https://repo1.maven.org/maven2</url>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories> 
</profile>

यह हमेशा एक सक्रिय सेटिंग होगी जब तक आप इसे जरूरत के समय अपने POM में अक्षम / ओवरराइड नहीं करते।


7

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

आप अपनी सेटिंग में जा सकते हैं। xml और http: // से https: // तक अपने केंद्रीय रिपॉजिटरी URL को ओवरराइड कर सकते हैं।

<M2_HOME>/conf/settings.xml

दर्पण अनुभाग खोजें और निम्नलिखित प्रविष्टि जोड़ें:

    <mirror>
     <id>other-mirror</id>
     <name>Other Mirror Repository</name>
     <url>https://other-mirror.repo.other-company.com/maven2</url>
     <mirrorOf>central</mirrorOf>
    </mirror>

URL अनुभाग में, यदि आप http://repo1.maven.org/maven2/ या http://repo.maven.apache.org/maven2/ का उपयोग कर रहे थे तो

Http://repo1.maven.org/maven2/ से बदलें https://repo1.maven.org/maven2/ से

Http://repo.maven.apache.org/maven2/ को https://repo.maven.apache.org/muen2/ से बदलें

आपको अपने कंपनी स्रोत नियंत्रण प्रबंधन / रिपॉजिटरी URL का आदर्श रूप से उपयोग करने की आवश्यकता है। चूंकि यह खुले स्रोत मावेन भंडार समुदाय के साथ किसी भी संपर्क को अवरुद्ध करेगा।

जैसा कि अन्य उत्तरों में उल्लेख किया गया है, 15 जनवरी 2020 से प्रभावी, केंद्रीय मावेन रिपॉजिटरी सादे HTTP पर असुरक्षित संचार का समर्थन नहीं करता है।


दर्पण अनुभाग में दर्पण जोड़ने के बाद मुझे एक त्रुटि मिली है, उस सहकर्मी को प्रमाणित नहीं किया गया है। अब मुझे क्या करना चाहिए? धन्यवाद!
Dimson

@dimson इसका मतलब है कि आपने https से जुड़ने की कोशिश की थी लेकिन आप प्रमाणीकरण के लिए प्रमाणपत्र गायब थे, शायद जावा के पास नहीं होने के कारण। जावा किस्टोर में रिपॉजिटरी से आयात प्रमाणपत्र, या जावा को अपग्रेड करें।
tibortru

@tibortru थैंक्स मैन, पहले से ही समस्या का समाधान। मैंने इन गुणों को IDE में maven करने के लिए जोड़ा है: maven.wagon.http.ssl.insecure = true maven.wagon.http.ssl.allowall = true maven.wagon.ttp.ssl.ignore.valore.dates = true https। प्रोटोकॉल = TLSv1, TLSv1.1, TLSv1.2। इसके बाद सब ठीक होता है।
Dimson

हां, ठीक है कि दूसरा रास्ता है। गैर-सुरक्षित एक :)
टिबोर्तु

7

मेरे लिए (कॉरपोरेट कोडर) settings.xmlफिक्स्ड इश्यू में मिरर रिपॉजिटरी को जोड़ना । मैं मावेन को डॉकटर कंटेनर के अंदर भी इस्तेमाल कर रहा हूं।

<mirrors>
    <mirror>
        <id>https-mirror</id>
        <name>Https Mirror Repository</name>
        <url>https://repo1.maven.org/maven2</url>
        <mirrorOf>central</mirrorOf>
    </mirror>
</mirrors>

क्या आप मुझे दिखा सकते हैं कि हम सेटिंग्स कहां पा सकते हैं। xml फ़ाइल, @ ऑस्कर?
हान वान फाम

ज़रूर! हमारे डॉकरफाइल में, हम इसे पहले इस तरह से एक अस्थायी फ़ोल्डर में रखते हैं: इको "<सेटिंग्स> <दर्पण> .... </ दर्पण> </ सेटिंग्स>"> /tmp/maven-settings.xml। फिर, हम "-s" विकल्प के साथ मावेन चलाते हैं और इस "mvan -s /tmp/maven-settings.xml क्लीन" की तरह सेटिंग फ़ाइल में पथ पास करते हैं। आशा है ये मदद करेगा!
ऑस्कर दरी

@ हान-वान-फाम आपको इसे $ HOME / .m2 / में मिलता है। यदि नहीं, तो वहाँ बनाएँ।
dr0i

4

उबंटू 16.04, जावा 1.8.0_201 का उपयोग करना।

मैंने पुराने मावेन को अन-इंस्टॉल किया और मावेन को 3.6.3 स्थापित किया, फिर भी यह त्रुटि मिली कि मावेन निर्भरता 501 त्रुटि के साथ विफल हो रही है।

एहसास हुआ कि यह एक ट्रस्टस्टोर / कीस्टॉर मुद्दा हो सकता है जो https की आवश्यकता से जुड़ा हो। पाया कि अब आप jvm.config फ़ाइल का उपयोग करके -jjaxax विकल्पों को कॉन्फ़िगर कर सकते हैं, देखें: https://maven.apache.org/configure.html

जैसा कि मैं भी Tomcat का उपयोग कर रहा हूँ मैंने अपने jvm.config से Tomcat (setenv.sh) से कीस्टोर और ट्रस्टस्टोर कॉन्फिगर की नकल की और फिर इसने काम किया!

इस कॉन्‍फ़‍िगरेशन को 'एक्‍सपोर्ट MAVEN_OPTS' (जब mvn जेनरेट का उपयोग करते हैं) में पास करने का विकल्‍प भी है, लेकिन हालांकि इससे 501 त्रुटि हुई जिससे यह बंद हो गया: इससे pom फ़ाइल की उम्‍मीद थी।

एक अलग jvm.config फ़ाइल बनाना पूरी तरह से काम करता है, बस इसे अपनी परियोजना की जड़ में रखें।

उम्मीद है कि यह किसी की मदद करता है, मुझे यह पता लगाने के लिए पूरे दिन ले लिया!


4

समान मुद्दा jcenter के लिए भी उत्पन्न हो रहा है

13 जनवरी 2020 से, Jcenter केवल HTTPS में उपलब्ध है।

उसी का उपयोग करके अपनी निर्भरता प्राप्त करने वाली परियोजनाएं मुद्दों का सामना करना शुरू कर देंगी। त्वरित सुधार के लिए अपने build.gradle में निम्नलिखित कार्य करें

के बजाय

repositories {
jcenter ()
//others
}

इसे इस्तेमाल करो:

repositories {
jcenter { url "http://jcenter.bintray.com/"}
//others
}

4

त्रुटि:

फ़ाइल स्थानांतरित करने में विफल: http://repo.maven.apache.org/maven2/org/apache/maven/wagon/wagon-ssh/2.1/wagon-ssh-2.1.pom

रिटर्न कोड है: 501, ReasonPhrase: HTTPS आवश्यक।

मूल कारण विश्लेषण:

मावेन केंद्रीय उम्मीद कर रहा है कि क्लाइंट https का उपयोग करें, लेकिन क्लाइंट केवल सादे HTTP अनुरोध कर रहा है।

इसलिए, 'वैगन-एसश-2.1. पॉम' नाम के पैकेज को डाउनलोड करने का अनुरोध विफल हो गया था।

समस्या को कैसे ठीक करें?

URL को बदलें " http://repo.maven.apache.org/maven2 "

https://repo.maven.apache.org/maven2 के साथ " के साथ

परियोजना की pom.xml फ़ाइल या build.gradle फ़ाइल में।


2
मैं इस url की जगह कहां
लेता हूं

3

यदि किसी को इसकी आवश्यकता हो तो इसे साझा करना:

पुराने ग्रेडल कॉन्फिगरेशन (गीतालाब के बिना, डॉकियर की तैनाती, सरल परियोजनाओं के लिए)

repositories {
google()
jcenter()

maven { url "http://dl.bintray.com/davideas/maven" }
maven { url 'https://plugins.gradle.org/m2/' }
maven { url 'http://repo1.maven.org/maven2' }
maven { url 'http://jcenter.bintray.com' }
}

नया कॉन्फ़िगरेशन:

repositories {
google()
jcenter()

maven { url "https://dl.bintray.com/davideas/maven" }
maven { url 'https://plugins.gradle.org/m2/' }
maven { url 'https://repo1.maven.org/maven2' }
maven { url 'https://jcenter.bintray.com' }
}

Https को नोटिस करें। मुबारक कोडिंग :)


3

मेरा वर्तमान वातावरण HTTPS का समर्थन नहीं करता है, इसलिए रेपो के असुरक्षित संस्करण को जोड़ने से मेरी समस्या हल हो गई: http://insecure.repo1.maven.org Sonatype के अनुसार

    <repositories>
       <repository>
          <id>Central Maven repository</id>
          <name>Central Maven repository insecure</name>
          <url>http://insecure.repo1.maven.org</url>
       </repository>
    </repositories>

-3

Pom.xml में निम्न भंडार जोड़ें ।

<project>
...
    <repositories>
        <repository>
            <id>central</id>
            <name>Maven Plugin Repository</name>
            <url>https://repo1.maven.org/maven2</url>
            <layout>default</layout>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
    </repositories>
...
</project>

यह एक ही समस्या का कारण होगा क्योंकि यह उपयोग कर रहा हैhttp
युधिष्ठिर आर्य

1
मैंने इसे पोम में आज़माया और यह काम कर रहा है
सथेश

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