কীভাবে মেভেন আপডেট জোর করবেন?


730

আমি আমার ইতিমধ্যে কাজ করা প্রকল্পটি অন্য কম্পিউটারে আমদানি করেছি এবং এটি নির্ভরতা ডাউনলোড করতে শুরু করে।

স্পষ্টতই আমার ইন্টারনেট সংযোগ ক্রাশ হয়ে গেছে এবং এখন আমি নিম্নলিখিতগুলি পেয়েছি:

    >Build errors for comics; org.apache.maven.lifecycle.LifecycleExecutionException:
    Failed to execute goal on project comicsTest: Could not resolve dependencies for project comicsTest:comicsTest:war:0.0.1-SNAPSHOT:
    The following artifacts could not be resolved:
    org.springframework:spring-context:jar:3.0.5.RELEASE,
    org.hibernate:hibernate-entitymanager:jar:3.6.0.Final,
    org.hibernate:hibernate-core:jar:3.6.0.Final,
    org.hibernate:hibernate-commons-annotations:jar:3.2.0.Final,
    org.aspectj:aspectjweaver:jar:1.6.8,
    commons-lang:commons-lang:jar:2.5,

    >mysql:mysql-connector-java:jar:5.1.13: Failure to transfer org.springframework:spring-context:jar:3.0.5.RELEASE from http://repo1.maven.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced.

    >Original error: Could not transfer artifact org.springframework:spring-context:jar:3.0.5.RELEASE from central (http://repo1.maven.org/maven2): No response received after 60000

আমি কীভাবে মেইনকে আপডেট করতে বাধ্য করব?


পার্শ্ব দ্রষ্টব্য: আটলাসিয়ান মাভেনের সাথে আমার এই সমস্যাটি ছিল (প্লাগইন এসডিকে থেকে) এবং নতুন সংস্করণে আপগ্রেড করার ফলে সমস্যার সমাধান হয়েছে।
উইরন

উত্তর:


1596
mvn clean install -U

-Uমানে স্ন্যাপশট নির্ভরতাগুলির জোর আপডেট । মুক্তির নির্ভরতাগুলি এভাবে আপডেট করা যায় না।


32
আমি lwpro2 এর সাথে একমত, এটি আমার সমস্যাটিকেও সমাধান করেছে। শুধু এমভিএন পরিষ্কার করা যথেষ্ট নয়। সমস্যা সমাধানের জন্য নাভির উত্তর যথেষ্ট নয়।
আর ভ্যান টুইস্ক

1
আমি বিশ্বাস করি যে আপনি যদি আর্টিফ্যাক্টরি ব্যবহার করছিলেন এবং ভান্ডার আইডি "সেন্ট্রাল" ব্যবহার করতেন তবে মেটাডেটা দৃশ্যত পরিষ্কার হয়ে যায়নি।
ggb667

2
এটি স্ন্যাপশট নির্ভরতা জারগুলি কেবলমাত্র মেটাডেটা আপডেট করবে বলে মনে হয় না।
হিমশীতল মটর রডি

এটি যদি শেষ ব্যর্থতা নির্ভরতা ডাউনলোড থেকে উত্পাদিত .স্টাস্টআপডেটেড ফাইলের কারণে হয় তবে এই পদ্ধতিটি কার্যকর হবে না, আমাদের রবার রেজের জবাবের মতো কিছু দরকার
লিউ

1
আমি পূর্ববর্তী সংস্করণগুলির জন্য সহায়তার দিকে তাকিয়ে আছি এবং ২.০.৪.১ অবধি, ইউ-ফ্ল্যাগটির বর্ণনা ছিল: "-উ, - আপডেট-স্ন্যাপশটগুলি সংগ্রহস্থল নীতি নির্বিশেষে সমস্ত স্ন্যাপশট আপডেট করুন" ২.০.৫ থেকে শুরু করে, এটি পরিণত হয়েছিল: "-U, - আপডেট-স্ন্যাপশটগুলি দূরবর্তী সংগ্রহস্থলগুলিতে আপডেট হওয়া রিলিজ এবং স্ন্যাপশটগুলির জন্য একটি চেক জোর করে" এবং তখন থেকে এটি এরকমই ছিল। দুটি সংস্করণ 2007 সালে প্রকাশিত হয়েছিল। আমি অবাক হয়েছি যে উত্তরগুলিও প্রকাশের জন্য অ্যাকাউন্টে সম্পাদনা করতে হবে?
ক্লাবেরজ

93

যদি আপনার স্থানীয় সংগ্রহস্থলটি স্ন্যাপশটগুলির বিপরীতে মুক্তির জারগুলির জন্য কোনওভাবে প্রস্তুত করা হয় ( -Uএবং --update-snapshotsকেবলমাত্র স্ন্যাপশট আপডেট করে) তবে আপনি নিম্নলিখিতটি ব্যবহার করে স্থানীয় রেপোকে সাফ করতে পারেন:

 mvn dependency:purge-local-repository

আপনি সম্ভবত তারপর আবার পরিষ্কার এবং ইনস্টল করতে চান:

 mvn dependency:purge-local-repository clean install

Https://maven.apache.org/plugins/maven-d dependency-plugin/example/purging-local-repository.html এ প্রচুর আরও তথ্য উপলব্ধ


8
যত তাড়াতাড়ি আমি mvn dependency:purge-local-repositoryএটি করেছি , এটি সহজেই সমস্ত নির্ভরতা আবার ডাউনলোড করেছে, যা ঠিক আমি চেয়েছিলাম
smac89

92

-U সমস্ত নির্ভরতা আপডেট জোর করে বলে মনে হচ্ছে।

আপনি যদি পরিষ্কার ছাড়াই একটি একক নির্ভরতা আপডেট করতে চান বা -Uআপনি এটি কেবল আপনার স্থানীয় রেপো থেকে সরিয়ে ফেলতে পারেন।

আপডেট করার জন্য নীচের উদাহরণটি slf4j-api 1.7.1-SNAPSHOT:

rm -rf ~/.m2/repository/org/slf4j/slf4j-api/1.7.1-SNAPSHOT
mvn compile

আপনি যদি স্থানীয় স্থানীয় maven সংগ্রহস্থলের উল্লেখ রেখেছে মাভেন ব্যতীত অন্য কোনও সরঞ্জাম ব্যবহার করছেন তবে এটি দুর্দান্তভাবে কাজ করে।
মনসুর সিদ্দিকী

57

এখানে সমস্ত উত্তর আমার পক্ষে কার্যকর হয়নি। আমি হাতুড়ি পদ্ধতিটি ব্যবহার করেছি:

find ~/.m2/ -name "*.lastUpdated" | xargs rm

এটি সমস্যার সমাধান করেছে :-)


@ ডিজে 2 .m2এটির নাম*.lastUpdated
sjngm

find ~/.m2/ -name "*.lastUpdated" -deleteকিছু সীমা অতিক্রম xargsবা বিপদ ছাড়াই করতে হবে rm(যদি অনেক ফাইল পাওয়া যায়)।
এ জেড

45

আপনি কার্যকরভাবে থেকে করতে পারেন Eclipse IDE। অবশ্যই যদি আপনি এটি ব্যবহার করছেন।

Project_Name->Maven->Update Project Configuration->Force Update of Snapshots/Releases

1
আমি @ lwpro2 দ্বারা উত্তরে কমান্ড লাইন সংস্করণটি করেছি, যা আমাকে কমান্ড লাইনে তৈরি করতে দেয় , তবে তখনও আমি গ্রহনের মধ্যে তৈরি করতে পারিনি। এটি করার ফলে এটি গ্রহণের মধ্য দিয়ে তৈরি হয়েছিল।
ইট

আপডেটটি কার্যকর করার পরে আমি যদি ক্লিপটি বন্ধ করে এবং পুনরায় চালু করি তবেই আমার পক্ষে কাজ করে।
2'17 এ সিলক্লোক

33

কেবলমাত্র কেউ যদি কেবলমাত্র প্রকল্পের স্ন্যাপশট নির্ভরতা আপডেট করতে চান এবং আর্টিফ্যাক্ট ইনস্টল করতে চান না:

mvn dependency:resolve -U

আপনার আইডিইতে নির্ভরতাগুলি পুনর্বহাল করতে ভুলবেন না। আইডিইএতে আপনাকে পম ফাইলে ডান ক্লিক করতে হবে এবং ম্যাভেন -> রেম্পোর্ট নির্বাচন করতে হবে


13

আপনার স্থানীয় সংগ্রহস্থলের ভিতরে থাকা বিষয়ে যদি আপনি নিশ্চিত না হন তবে আমি বিকল্পটি দিয়ে একটি বিল্ড ফায়ার পরামর্শ দিচ্ছি:

-Dmaven.repo.local=localrepo

এইভাবে আপনি ক্লিনরুমের পরিবেশ তৈরির বিষয়টি নিশ্চিত করবেন।


5
এই কমান্ডটির অর্থ স্থানীয় সংগ্রহস্থল হতে লোকালরেপো ফোল্ডারটি ব্যবহার করুন। এটি একটি একক প্রকল্পের কর্মক্ষেত্রের জন্য সূক্ষ্ম তবে আপনার যদি একাধিক প্রকল্প থাকে তবে কিছু অপরটির উপর নির্ভর করে। তাহলে -Dmaven.repo.local = / ডেটা / আমার / স্থানীয়রেপোডির মতো একটি পূর্ণ পথ দেওয়ার জন্য আপনার আরও ভাল
tgkprog

9

আমার ক্ষেত্রে আমি প্রথমে এটি করেছি:

mvn clean install -U

তবুও এটি একই ত্রুটিটি দেখছিল তখন আমি প্রকল্পটি বন্ধ করে দিয়ে আবার এটি খুললাম। অবশেষে কাজ করেছেন।


আমি মনে করি আপনি প্রকল্পটি পুনরায় চালু করতে এড়াতে কেবল পুনরায় নির্ভরতা করতে
পারতেন

4

আপনি যদি গ্রহপ আইডিই ব্যবহার করেন তবে:

  • প্রকল্প নির্বাচন করুন।
  • Alt + F5 টিপুন, আপডেট মাভেন প্রকল্পের জন্য উইন্ডোটি পপ আপ হবে।

  • চেক - স্ন্যাপশটগুলি / রিলিজগুলির জোর করে আপডেট করুন এবং ওকে ক্লিক করুন।

যদি ইন্টেলিজ আইডিই ব্যবহার করে থাকেন

  • সেটিংস / মাভেন এ যান
  • সর্বদা স্ন্যাপশট আপডেট করুন

3

আমি ইন্টেলিজ আইডিই ব্যবহার করেছি এবং আমারও একই সমস্যা হয়েছিল এবং সমাধানের জন্য মাভেন ট্যাবে "উত্স উত্স এবং সমস্ত প্রকল্পের জন্য ফোল্ডারগুলি তৈরি করুন" এ ক্লিক করেছি।

এখানে চিত্র বর্ণনা লিখুন


2

আমি অন্য একটি প্রসঙ্গে ত্রুটি পেয়েছি। সুতরাং আমার সমাধানটি অন্যদের জন্য দরকারী হতে পারে যারা এই প্রশ্নটির উপরে পদক্ষেপ নিচ্ছেন:

সমস্যা: আমি স্থানীয় সংগ্রহস্থলটি অন্য কম্পিউটারে অনুলিপি করেছি, যার বিশেষ সংগ্রহস্থলের কোনও সংযোগ নেই। সুতরাং মাভেন অবৈধ সংগ্রহস্থলের বিরুদ্ধে নিদর্শনগুলি পরীক্ষা করার চেষ্টা করেছিল।

আমার সমাধান: _maven.repositories ফাইলগুলি সরান।


2

এটি ম্যাভেন সম্পর্কে একটি বিরক্তিকর বিষয়। আমার জন্য নিম্নলিখিতটি ঘটে থাকে: আমি যদি আরও নির্ভরতা এবং আরও বেশি সংখ্যার জন্য অনুরোধ করে এমন একটি নির্ভরতা যুক্ত করি তবে ধীরে সংযোগ থাকে তবে ডাউনলোড এবং সময় নির্ধারণের সময় এটি বন্ধ হয়ে যায়। এখনও প্রাপ্ত নয় এমন সমস্ত নির্ভরতার সময় নির্ধারণের সময়। এম 2 ক্যাশে স্থানধারীদের সাথে চিহ্নিত করা হয় এবং মাভেন এটিকে (কখনই) তুলবেন না যতক্ষণ না আমি স্থানটি ধারক প্রবেশের মাধ্যমে ক্যাশে থেকে প্রবেশ না করে (অন্যান্য বর্ণিত হিসাবে) অপসারণ করি না।

যতদূর আমি এটি দেখতে পাচ্ছি, মাভেন বা আরও সুনির্দিষ্টভাবে এই গ্রাহক মাভেন প্লাগইনে এটি সম্পর্কিত একটি বাগ রয়েছে। কারও এই রিপোর্ট করা উচিত।



1

অ্যান্ড্রয়েড-মানচিত্র-ব্যবহার নির্ভরতা নিয়ে আমি একই ত্রুটি পেয়েছি। নির্ভরতা বিভাগে আর টাইপ প্যাকেজ ব্যবহার করা আমার সমস্যার সমাধান করে। ডিফল্টরূপে প্রকারটি জার তাই এটি সংগ্রহস্থলের মধ্যে নির্ভরতা কী ধরণের ডাউনলোড হয় তা পরীক্ষা করা যেতে পারে।


1

Eclipse থেকে এই সমস্যাটি ঠিক করার জন্য:

1) মাভেন pom.xML এ নীচে নির্ভরতা যুক্ত করুন এবং pom.xML ফাইলটি সংরক্ষণ করুন।

<!-- https://mvnrepository.com/artifact/com.thoughtworks.xstream/xstream -->
<dependency>
    <groupId>com.thoughtworks.xstream</groupId>
    <artifactId>xstream</artifactId>
    <version>1.3.1</version>
</dependency>

2) প্রকল্পে যান >> মাভেন >> আপডেট প্রকল্প

প্রকল্পটি নির্বাচন করুন এবং ঠিক আছে ক্লিক করুন।

৩) alচ্ছিক পদক্ষেপ, যদি এটি দ্বিতীয় ধাপের মধ্যে সমাধান না হয় তবে ধাপ -1 করার পরে নীচের পদক্ষেপটি করুন

প্রকল্পে যান >> মাভেন >> আপডেট প্রকল্প >> চেকবাক্সটিতে 'স্ন্যাপশট / প্রকাশের ফোর্স আপডেট' চেক করুন

প্রকল্পটি নির্বাচন করুন এবং ঠিক আছে ক্লিক করুন।


1

মাভেনের পূর্ববর্তী সংস্করণগুলি নিখোঁজ প্রকাশের জন্য চেকটিকে বাধ্য করে নামাভেনের এমভিএন ক্লিন ইনস্টল সহ ইউ-র ব্যবহারের সময় চেককে , যদিও কেবল নতুন সংস্করণ এটি সমর্থন করে।

আগের সংস্করণটির সাথে এখনও লড়াই করা কারও পক্ষে নিম্নলিখিতগুলি সহায়ক হতে পারে-

উইন্ডোজে:

cd %userprofile%\.m2\repository
for /r %i in (*.lastUpdated) do del %i

লিনাক্সে:

find ~/.m2  -name "*.lastUpdated" -exec grep -q "Could not transfer" {} \; -print -exec rm {} \;

যখনই ম্যাভেন কোনও কারণে নির্ভরতা ডাউনলোড করতে পারে না (সংযোগ / বিদ্যমান নেই ইত্যাদি), এটি। Home / .m2 ডিরেক্টরিতে অন্তর্ভুক্ত ফোল্ডারে নির্ভরতা-নাম.সাল্ট আপলোড ফাইলটিতে ".error = শিল্পকলা স্থানান্তর করতে পারেনি" যোগ করবে। এই ফাইলগুলি অপসারণ করা মাভেনকে আবার নির্ভরতা আনার চেষ্টা করতে বাধ্য করবে।


0

এটি যুক্ত করা গুরুত্বপূর্ণ যে mvn -U এবং -U ছাড়াই চলার মূল পার্থক্য এটি that-U দূরবর্তী SNAPSHOT জারগুলির সাথে আপনার স্থানীয় SNAPSHOT জারগুলিকে ওভাররাইড করবে।

স্থানীয় SNAPSHOT mvn installজারগুলি স্থানীয় থেকে তৈরি করা হয়েছে যেখানে আপনার প্রজের অন্যান্য মডিউল রয়েছে যা জারগুলি উত্পন্ন করে।


0

-U আপডেট মেভেন রেপোকে বল প্রয়োগ করতে ব্যবহৃত হয়। ব্যবহার

mvn -U clean install

এটি হ'ল গৃহীত উত্তর হিসাবে ঠিক একই উত্তর। 6 বছর আগে দেওয়া হয়েছে ...
কেরউইন স্নিজ্ডার্স

@ ক্যারউইন স্নিজডার্স আমি 2 বছর আগে এই সময়ে উত্তর যুক্ত করেছি, স্বীকৃত উত্তর -U এখানে কী তথ্য দেয় না
সঞ্জীব গুগলানি

যতদূর আমি গ্রহণযোগ্য উত্তরে বলতে পারি যে পোস্ট হওয়ার দিন থেকেই সেই তথ্য অন্তর্ভুক্ত ছিল। (মার্চ 14 ​​'12)। এমনকি যদি তা না হয় তবে এই তথ্যটি গ্রহণযোগ্য উত্তরগুলির নীচে একটি মন্তব্যে আরও ভাল পোস্ট করা হয়েছে কারণ এটি কোনও উত্তর নয় বরং অতিরিক্ত তথ্য
কেরউইন স্নিজডার্স

0

আমি এখানে সমস্ত উত্তর চেষ্টা করেছিলাম কিন্তু কিছুই কাজ করছে বলে মনে হচ্ছে না। প্রথমে আমার কম্পিউটার পুনরায় চালু করুন তারপর ছুটে গেল mvn clean install -U। এটি আমার সমস্যার সমাধান করেছে।


0

ম্যাভেন যা করে তা হ'ল এটি আপনার স্থানীয় রেপো (.m2 ফোল্ডার) এ আপনার প্রকল্পের সমস্ত নির্ভরতা ডাউনলোড করে। আপনার স্থানীয় রেপোতে ইন্টারনেট সমস্যার কারণ হওয়ায় আপনার প্রকল্পটি সমস্যার মুখোমুখি। আমি নিশ্চিত নই যে এটি অবশ্যই আপনাকে সহায়তা করবে কিনা বা না তবে আপনি .m2 ফোল্ডারের অভ্যন্তরীণ ভান্ডারগুলির মধ্যে থাকা সমস্ত ফাইল মুছতে চেষ্টা করতে পারেন। স্থানীয় রেপোতে যেহেতু কিছুই থাকবে না, মেনকে আবার নির্ভরতা ডাউনলোড করতে বাধ্য করা হবে, সুতরাং আপডেট আপডেট করতে বাধ্য করা হবে। সাধারণত .m2 ফোল্ডারটি c: ব্যবহারকারীদের: [ব্যবহারকারীর নাম]: এম 2 এ অবস্থিত


-1

আমি অন্য কারণে এই সমস্যা ছিল। আমি স্পেনের মূলের সর্বশেষতম সংস্করণটি খুঁজছি, মেন রেপোজিটরি https://mvnrepository.com এ গিয়েছিলাম যা সেই সময় ছিল 5.0.0.M3 / সংগ্রহস্থলটি আমার pom.xml এর জন্য আমাকে এই এন্ট্রিটি দেখিয়েছিল:

<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>5.0.0.M3</version>
</dependency>

নিষ্পাপ বোকা যে আমিই, আমি ধরে নিয়েছিলাম যে মন্তব্যটি আমাকে বলেছিল যে বয়ামটি ডিফল্ট সংগ্রহস্থলে রয়েছে।

যাইহোক, প্রচুর মাথা ঠেকানোর পরে, আমি এক্সএমএল এর ঠিক নীচে একটি নোট দেখতে পেয়েছি "নোট: এই নিদর্শনটি এটি আলফ্রেসকো পাবলিক রিপোজিটরিতে অবস্থিত ( https://artifacts.alfresco.com/nexus/content/repositories/public/ ) "

সুতরাং এক্সএমএলে মন্তব্যটি সম্পূর্ণ বিভ্রান্তিকর। জারটি অন্য একটি সংরক্ষণাগারে অবস্থিত, যে কারণে মাভেন এটি খুঁজে পেল না!


-3

আমরা নীচে কমান্ড সহ রিলিজ এবং স্ন্যাপশট সংগ্রহের সর্বশেষ আপডেট পেতে বাধ্য করতে পারি:

mvn --update-snapshots clean install

12
এটি হ'ল গৃহীত উত্তর হিসাবে ঠিক একই উত্তর। -U হ'ল - আপডেট-স্ন্যাপশটের সংক্ষিপ্ত রূপ।
হিমায়িত মটর রডি

-3

আমার একই ত্রুটি ছিল এবং দৌড় ছিল mvn install -Uএবং তারপরে দৌড়ে mvn installআমার পক্ষে কাজ করেছিল।


10
দয়া করে "অন্যান্য সমস্ত উত্তরে উল্লিখিত জিনিসটি আমার জন্যও কাজ করেছিল" পোস্ট করবেন না ।
ক্রিগার

-4

আমি সম্প্রতি এটিতে ছুটে এসেছি এবং নিম্নলিখিত সমস্যাগুলি সমাধান করে সমস্ত সমস্যার সমাধান করেছি

mvn -fae install

5
-fae,--fail-at-end Only fail the build afterwards; allow all non-impacted builds to continueঅ-আপডেট হওয়া বাহ্যিক নির্ভরতা ঠিক করার এক অদ্ভুত উপায় বলে মনে হচ্ছে ..
দোনেটেলো

-5

mvn clean install -Uকাজ করে না তবে mvn -U cleanঅনুসরণ mvn clean installকরে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.