ইনস্টল: ইনস্টল-ফাইলের সাথে যুক্ত হওয়া স্থানীয় মাভেন রিপোজিটরি থেকে জার ফাইলটি কীভাবে সরিয়ে ফেলা যায়?


122
mvn install:install-file -Dfile=phonegap-1.1.0.jar -DgroupId?=phonegap -DartifactId?=phonegap -Dversion=1.1.0 -Dpackaging=jar

মাভেন লোকাল রেপোতে স্থানীয় জার ইনস্টল করতে আমি উপরের কমান্ডটি ব্যবহার করি। এখন আমি ম্যাভেন রেপো থেকে নির্ভরতা পেয়েছি। আমি স্থানীয় রেপো থেকে এটি সরাতে চাই। কিভাবে এটি পরিষ্কার?


উত্তর:


107

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

উইন্ডোতে Documents and Settings\your username\.m2বা $HOME/.m2লিনাক্সে এটি পছন্দ করুন


10
আমি শুধুমাত্র মুছে ফেলতে হবে .m2/repository directory। সহকর্মী এর আগে .m2 ডিরেক্টরিটি মুছে ফেলেছেন এবং এটি সমস্যার কারণ কারণ আমাদের প্রকল্পে আমাদের settings.xmlফাইলটি পরিবর্তন করতে হবে।
তিরিস

7
মনে রাখবেন যে .m2/repositoryডিরেক্টরিটি মোছার সাথে সাথে আপনি সমস্ত মেভেন প্লাগইন ফাইলও মুছবেন। purge-local-repositoryকমান্ডটি ব্যবহার করে আপনি কেবল নির্ভরতা মুছে ফেলছেন।
কোলিনহাইনস

3
এর অধীনে ডিরেক্টরি কাঠামোটি .m2/repositoryমাভেন গ্রুপ আইডি দ্বারা সংগঠিত হয়েছে, যাতে আপনি কেবল সরিয়ে নিতে চান সেই নিদর্শনগুলির সাথে সম্পর্কিত সাব-ডিরেক্টরিকে মুছতে পারেন।
কেভিন ক্রামউইদে

124

ফাইলগুলিকে ম্যানুয়ালি মুছে ফেলার কাজ করা হলেও আপনার স্থানীয় (ক্যাশে) সংগ্রহস্থল থেকে আপনার প্রকল্পের নির্ভরতা অপসারণ এবং দূরবর্তী সংগ্রহস্থলগুলি থেকে optionচ্ছিকভাবে পুনরায় সমাধান করার একটি সরকারী উপায় রয়েছে ।

purge-local-repositoryমান, মাভেন নির্ভরতা প্লাগইনের লক্ষ্যটি আপনার ক্যাশে থেকে এই প্রকল্পের স্থানীয়ভাবে ইনস্টল করা নির্ভরতা সরিয়ে ফেলবে । Allyচ্ছিকভাবে, আপনি একই সময়ে এগুলি দূরবর্তী সংগ্রহস্থলগুলি থেকে পুনরায় সমাধান করতে পারেন।

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

আপনি যদি ক্যাশে থেকে স্পষ্টভাবে একটি একক শৈল্পিক মুছতে চান purge-local-repositoryতবে manualIncludeপরামিতিটি ব্যবহার করুন । উদাহরণস্বরূপ, কমান্ড লাইন থেকে:

mvn dependency:purge-local-repository -DmanualInclude="groupId:artifactId, ..."

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

সম্পূর্ণ ডকুমেন্টেশনটি ম্যাভেন-নির্ভরতা-প্লাগইন স্পেকে রয়েছে।

দ্রষ্টব্য : খাঁটি dependencyপ্লাগইনটির পুরানো সংস্করণগুলির একটি manual-purge-local-repositoryলক্ষ্য ছিল যা এখন (সংস্করণ 2.8) এর ব্যবহার দ্বারা বোঝানো হয়েছে manualIncludemanualIncludes(একটি s) এর জন্য ডকুমেন্টেশন পাশাপাশি পড়তে হবে।


আমি বিশ্বাস করি না যে এটি .jarমেক সেন্ট্রাল বা অন্য কোনও সংগ্রহস্থল থেকে ডাউনলোড করা হয়নি এমনগুলির জন্য কাজ করে। যখন আমি এই কমান্ডটি চালনা করি এটি .jarস্বয়ংক্রিয়ভাবে ডাউনলোড হওয়া .jar[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.8:purge-local-repository (default-cli) on project alloy-generator: Failed to refresh project dependencies for: myartifact: required artifacts missing: [ERROR] manually-downloaded-and-installed.jar ...
সমস্তগুলি থেকে মুক্তি

3
আসলে, আমি এটি যাচাই করার পরে, আমি বুঝতে পারি যে এটি আনইনস্টল করে না .jar, তবে এটি এখনও একটি ত্রুটি আউটপুট করে। সুতরাং .jarম্যানুয়ালি ইনস্টল করা হয়েছে এমনগুলির জন্য, আমি এই পদ্ধতিটি ব্যবহার না করে ম্যানুয়ালি মুছে ফেলার পরামর্শ দেব, কারণ ম্যাভেন কিছু অদ্ভুত ফাইল তৈরি করে yourjar.jar.lastUpdatedএবং yourjar.pom.lastUpdatedযা আপনাকে ম্যানুয়ালি মুছে ফেলার প্রয়োজন হতে পারে। তবে যদি ম্যাভেন সমস্ত নির্ভরতা স্বয়ংক্রিয়ভাবে পরিচালনা করে তবে নির্ভরতা আনইনস্টল করার এটি দুর্দান্ত উপায়।
stiemannkj1

কমান্ডটি চালানোর জন্য এই পদ্ধতির জন্য একটি খাঁটি প্রকল্পও প্রয়োজন। গ্রেডল বিল্ডের প্রসঙ্গে ওপিতে নির্দিষ্ট করা ইনস্টল কমান্ডটি চালিয়ে দিলে এটি কাজ করে না বলে মনে হয়।
jdonmoyer

19

আপনার স্থানীয় রেপো থেকে পুনরায় ডাউনলোড না করে নির্ভরতাগুলি সরিয়ে নেওয়ার ইচ্ছে থাকলে কমপক্ষে বর্তমান ম্যভেন সংস্করণে আপনার স্যুইচ -ড্রেরেসলভল = মিথ্যা যুক্ত করতে হবে।

mvn dependency:purge-local-repository -DreResolve=false

পুনরায় ডাউনলোড না করে নির্ভরতাগুলি সরিয়ে দেয়।


আপনি কি দয়া করে কটাক্ষপাত পারে: stackoverflow.com/questions/58937713/...
gstackoverflow

12

~/.m2/repository/phonegap/1.1.0/আপনি যদি কোনও লিনাক্স ওএস ব্যবহার করছেন তবে আপনার স্থানীয় ডিরেক্টরিতে প্রতিটি জিনিস (জার, পম.এক্সএমএল, ইত্যাদি) মুছুন ।


আমি যখন সেইভাবে জারটি সরিয়ে ফেলি, তখন এটি পুরানো ফোল্ডার থেকে জারটি "পুনরায় ডাউনলোড" করে। এমন উল্লেখ থাকতে পারে যেগুলি পাশাপাশি মুছে ফেলা দরকার।
আন্তোনিও সেস্তো

0

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


-5
  1. cd ~/.m2
  2. git init
  3. git commit -am "some comments"
  4. cd /path/to/your/project
  5. mvn install
  6. cd ~/.m2
  7. git reset --hard

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

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