মাভেন ব্যবহার করে রিলিজ নির্ভরতা পুনরায় ডাউনলোড করতে বাধ্য করুন


135

আমি নির্ভরশীল এক্স প্রজেক্টের সাথে একটি প্রকল্পে কাজ করছি, পরিবর্তে, ওয়াইয়ের উপর নির্ভর করে।

আমি আমার প্রকল্পের পোমে স্পষ্টভাবে ওয়াই অন্তর্ভুক্ত করতাম। তবে এটি ব্যবহার করা হয়নি এবং জিনিসগুলিকে আরও পরিষ্কার করে তুলতে আমি এর পরিবর্তে এটি নির্ভরতা হিসাবে এক্স এর পোমে যুক্ত করেছিলাম। এক্স একটি রিলিজ নির্ভরতা হিসাবে চিহ্নিত করা হয়।

সমস্যাটি হ'ল আমার প্রজেক্টের পম থেকে ওয়াই সরানোর পরে এবং এটি এক্স এর পমে যুক্ত করার পরে, আমার প্রকল্পটি এটি গ্রহণ করছে না mvn -U clean package। আমি জানি -U আপডেট স্ন্যাপশট তবে রিলিজ নয়।

সুতরাং, ~ / .m2 / সংগ্রহস্থল ডিরেক্টরিটি মোছা না করে আমি কীভাবে এক্স এর পম পুনরায় ডাউনলোড করতে বাধ্য করব? এছাড়াও, আমি দৌড়ানোর চেষ্টা করেছি dependency:purge-local-repositoryএবং এটিও কার্যকর হয়নি।


প্রশ্নগুলিকে আপনি "ম্যাভেন -২" হিসাবে ট্যাগ করেছেন। এই সমস্যা সমাধানের জন্য ম্যাভেন 3--U বিকল্পটি যুক্ত করা হয়েছিল। আমি আপগ্রেড করার পরামর্শ দিই।
মার্ক কোনর

কেবল কোনও পদ্ধতির দৃষ্টিকোণ থেকে, আপনি যদি Xপম পরিবর্তন করেন তবে এটি কেবল একটি প্যাচ সংখ্যা পরিবর্তন হওয়া সত্ত্বেও এটি একটি নতুন রিলিজ গঠন করা উচিত: 1.3-> 1.3.1। সুতরাং, এটি এই সমস্যাটি দূরান্ত থেকে দূর করবে।
jpaugh

তবে স্ন্যাপশটগুলির সাথে একই ধরণের সমস্যা থাকা এখনও সম্ভব, তাই কিছু উত্তর দেওয়া ভাল।
jpaugh

উত্তর:


165

আপনি মাভেনকে পুনরায় ডাউনলোডের নির্ভরতা তৈরি করতে পারবেন না, তবে পরিবর্তে আপনি যা করতে পারেন তা হ'ল নির্ভরতাগুলি যা ভুলভাবে ডাউনলোড করা হয়েছিল তা মুছে ফেলা mvn dependency:purge-local-repository

দেখুন: http://maven.apache.org/plugins/maven-d dependency-plugin / purge-local-repository-mojo.html


11
এই একই জিনিস না?
সুইভিশ

2
এটির জন্য ফাইল সিস্টেমে অ্যাক্সেসের প্রয়োজন নেই যা যদি আপনি কেবল বিল্ড জবগুলি কনফিগার করেন তবে (উদাহরণস্বরূপ সিআই সিস্টেমের জন্য) সমস্যা হতে পারে।
অলিভার ড্রটবহম

2
যদি একাধিক প্রকল্প চলমান থাকে mvn dependency:purge-local-repository clean packageতবে একটি প্রকল্প হতে পারে স্থানীয় সংগ্রহস্থলে একই নির্ভরতা মুছে ফেলতে পারে যখন অন্য প্রকল্পের সংকলন চলছে। কিভাবে এড়াতে?
ভিকিড

55

আমি সবেমাত্র আমার ~ / .m2 / সংগ্রহস্থল মুছে ফেলেছি এবং এটি পুনরায় ডাউনলোড করতে বাধ্য করেছে;)


1
এটি সর্বশেষ অবলম্বন হিসাবে সহায়তা করে, আমার একটি প্রকল্প ছিল যেখানে গ্রহন এবং মাভেন কিছুটা "বিভ্রান্ত" হয়েছিল। সহজভাবে .m2 ফোল্ডারটি মোছার ফলে প্রকল্পটি সংকলিত হয়ে সঠিকভাবে চালিত হয়েছে।
লিওনার্দো

5
আপনার জানা নির্ভরতাগুলি নির্বাচিতভাবে ভাণ্ডারের অভ্যন্তর থেকে সতেজ করা দরকার মুছে ফেলাও সম্ভব। একটি ম্যানুয়াল শুদ্ধি, যদি আপনি চান।
jpaugh

41

আমি মনে করি নিম্নলিখিত কমান্ড আপনাকে সাহায্য করতে পারে!


mvn -U clean install

4
প্রশ্নে মাভেন ব্যবহার করে নির্ভরতা প্রকাশ করুন । না, এটি আরও ভাল মন্তব্য হতে পারে।
নামান

31

আলি টোকম্যান উত্তরটি ধন্যবাদ। নিম্নলিখিত কমান্ডের সাহায্যে নির্দিষ্ট স্থানীয় নির্ভরতা মুছে ফেলতে বাধ্য হয়েছি:

mvn dependency:purge-local-repository -DmanualInclude=com.skyfish:utils

এটির সাহায্যে এটি utilsআমার .m2 / সংগ্রহস্থল থেকে সরিয়ে দেয় এবং utilsআমি চালানোর সময় এটি জেআর নির্ভরতা পুনরায় ডাউনলোড করে mvn clean install


1
মেভেনকে একটি নির্ভরতা পুনরায় ডাউনলোড করতে বাধ্য করার জন্য আমার কেবল একটি উপায় প্রয়োজন। এটি হ'ল একমাত্র উত্তর যা আসলে তা করে, অন্য উত্তরগুলি সবকিছু মুছে ফেলার পরামর্শ দেয়। আপনাকে ধন্যবাদ
smac89

14

প্রকল্পের ডান ক্লিক করুন-> ম্যাভেন -> প্রকল্প আপডেট করুন এবং স্ক্রিন শট হিসাবে চেকবক্সগুলি চেক করুন। এটি রিলিজও আপডেট করবে :)

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


5
তারা কীভাবে সেই "/ রিলিজ" অংশটি প্রয়োগ করেছিল তা জানতে পেরে ভাল লাগবে।
উলিস লেইরা

আমার যা প্রয়োজন কেবল এটির জন্য ধন্যবাদ।
জেমসজি

12
mvn clean install -U

-উ মানে নির্ভরতার জোর আপডেট update

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


আবার এটি কেবল এসএনএপএসএইচটি নির্ভরতা পুনরায় ডাউনলোড করে।
জারদোজ 89

6

আপনি এটি এক্স-এ যুক্ত করার পরে আপনার এক্স এর সংস্করণ নম্বর বৃদ্ধি করা উচিত, যেমন এক্স -২.২
তারপর এক্স -১.২ ইনস্টল / স্থাপন করা উচিত ছিল এবং এক্স এর উপরে আপনার প্রকল্পের নির্ভরতা পরিবর্তন করা উচিত এক্স -২.২ এর উপর নির্ভরশীল


6

আপনি যদি এর গ্রুপ আইডি জানেন X, আপনি এই আদেশটিটি পুনরায় ডাউনলোড করতে Xএবং এর নির্ভরতাগুলি ব্যবহার করতে পারেন

mvn clean dependency:purge-local-repository -DresolutionFuzziness=org.id.of.x

এটি অন্যান্য উত্তরগুলির মতো একই কাজ করে যা ব্যবহার করার প্রস্তাব দেয় dependency:purge-local-repositoryতবে এটি কেবলমাত্র সম্পর্কিত সমস্ত কিছু মুছে ফেলে এবং পুনরায় ডাউনলোড করে X


4

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

mvn -Dmaven.repo.local=$HOME/.my/other/repository clean install

3

কেবল মোছা ~ / .m2 / সংগ্রহস্থল ..... / আসল_পথটি যেখানে অবৈধ এলওসি আসছে সেখানে এটি মুছে ফেলা জার ফাইলগুলি আবার ডাউনলোড করতে বাধ্য করে। ত্রুটিটি যেদিকে থেকে আসছে সেখান থেকে নির্দিষ্ট ফোল্ডারটিকে মুছুন পরিবর্তে পুরো সংগ্রহস্থল ফোল্ডারটি মুছবেন না।


0

মুছে ফেলা ~/.m2/repositoryআপনার সমস্যার সমাধান করবে। তবে, যদি এখনও আপনার পুরানো রাখা প্রয়োজন~/.m2/repository কেবল অস্থায়ীভাবে খাঁটি স্থানীয় পথ পরিবর্তন করতে পারেন।

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

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


-1

উপরে প্রদত্ত বেশিরভাগ উত্তরগুলি সমস্যার সমাধান করবে।

তবে আপনি যদি ইন্টেলিজ ব্যবহার করেন এবং এটি আপনার জন্য স্বয়ংক্রিয়ভাবে এটি ঠিক করতে চান তবে ম্যাভেন সেটিংসে যান।

বিল্ড, এক্সিকিউশন, স্থাপনা -> বিল্ড সরঞ্জাম -> ম্যাভেন

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

কাজের অফলাইন অক্ষম করুন

সর্বদা স্ন্যাপশট আপডেট করুন সক্ষম করুন (প্রয়োজন হলে স্যুইচ করুন)


1
আপনি কমে যাবেন যদি আপনি ডাউনটাওয়েটের কারণটি সেখানে থাকাকালীন শেয়ার করতে পারেন। ধন্যবাদ.
অভিষেক নান্দগাঁওকর

1
সম্ভবত, কারণ স্ন্যাপশট প্রকাশ হয় না, সুতরাং এটি সমস্যার সমাধান করে না।
soru

-2

পাথ তৈরি করতে যান ... বিদ্যমান মভেন লাইব্রেরি মুছে ফেলুন আপনি যুক্ত করেছেন ... লাইব্রেরি যুক্ত করুন ক্লিক করুন ... মাভেন পরিচালিত নির্ভরতা ক্লিক করুন ... তারপরে ম্যাভেন প্রকল্প সেটিংস ক্লিক করুন ... সমাধানের জন্য ম্যাভেন নির্ভরতা চেক বাক্স..এটি সব ডাউনলোড করবে মাভেন নির্ভরতা


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