কিভাবে একটি শৈল্পিক জন্য নির্ভরতা গাছ পেতে?


123

dependency:treeপ্রদত্ত প্রকল্পের জন্য নির্ভরতা গাছ দেখতে ব্যবহার করা যেতে পারে। তবে আমার যা প্রয়োজন তা হল তৃতীয় পক্ষের নিদর্শনগুলির জন্য নির্ভরতা গাছটি দেখতে।

আমার ধারণা আমি একটি খালি প্রকল্প তৈরি করতে পারি তবে আমি আরও সহজ কিছু খুঁজছি (বেশ কয়েকটি নিদর্শনগুলির জন্য আমার এটি করা দরকার)।

উত্তর:


158

1) মাভেন নির্ভরতা প্লাগইন ব্যবহার করুন

শুধুমাত্র pom.xML দিয়ে একটি সাধারণ প্রকল্প তৈরি করুন। আপনার নির্ভরতা যোগ করুন এবং চালান:

mvn dependency:tree

দুর্ভাগ্যক্রমে নির্ভরতা মোজো অবশ্যই pom.xML ব্যবহার করতে পারে বা আপনি নিম্নলিখিত ত্রুটি পান:

মোজো: ট্রি কার্যকর করা যায় না। এটি একটি বিদ্যমান pom.xML সহ একটি প্রকল্প প্রয়োজন, তবে বিল্ডটি এটি ব্যবহার করছে না।

2) মাভেন সেন্ট্রাল রিপোজিটরিতে আপনার নিদর্শনগুলির pom.xML সন্ধান করুন

নির্ভরযোগ্যতাগুলি আপনার নিদর্শনটির pom.xML এ বর্ণিত হয়েছে। মাভেন অবকাঠামো ব্যবহার করে এটি সন্ধান করুন।

Http://search.maven.org/ এ যান এবং আপনার গ্রুপআইডি এবং আর্টিফ্যাক্টআইডি প্রবেশ করুন।

অথবা আপনি http://repo1.maven.org/maven2/ এ যেতে পারেন এবং প্লাগইন গ্রুপআইড ব্যবহার করে প্রথমে নেভিগেট করতে পারেন , পরে আর্টিফ্যাক্টআইডি ব্যবহার করে এবং শেষ পর্যন্ত এর সংস্করণটি ব্যবহার করে।

উদাহরণস্বরূপ org.springframework দেখুন: বসন্ত-কোর

3) আপনার নিদর্শন বিরুদ্ধে মেভেন নির্ভরতা প্লাগইন ব্যবহার করুন

নির্ভরতা শিল্পের অংশটি একটি pom.xML। এটি নির্ভরতা নির্দিষ্ট করে। এবং আপনি এমভিএন নির্ভরতা চালাতে পারেন : এই পোমের উপর গাছ



আপনি একটি প্রকল্প 'তৈরি' করছেন না, আপনি কেবল একটি POM ফাইল ডাউনলোড করছেন।
সান প্যাট্রিক ফ্লয়েড

1
আপনাকে কোনও নতুন প্রকল্প তৈরি করতে হবে না। শুধু তোমার স্থানীয় সংগ্রহস্থলে দেখব এবং atifact এর pom.xml এটি
আমড়া

চাইল্ড মডিউলটি না থাকলে এটি কাজ করে না। যেমন `` `mvn -f ~ / .m2 / repository / org / jboss / shrinkwrap / বর্ণনাকারী / সঙ্কোচন-বর্ণনাকারী-পিতামাতা / 2.0.0-alpha-10 / সঙ্কুচিত-বর্ণনাকারী-পিতা-মাতার 2.0.0-আলফা -10। পোম ডিপেন ডেনসি: ট্রি [আইএনএফও] প্রকল্পগুলির জন্য স্ক্যান করা হচ্ছে ... [ইআরআরআর] [ইআরআরআর] পিওএমগুলি প্রক্রিয়া করার সময় কিছু সমস্যা দেখা দিয়েছে: [ইআরআরআর] চাইল্ড মডিউল / / .এম 2 / রিপোজিটরি / ওআরজি / জেবিএস / সঙ্কোচন / বর্ণনাকারী / সঙ্কুচিত -ডিসিপিটার্স-প্যারেন্ট / 2.0.0-আলফা -10 / এপিআই-বেস ... / বর্ণনাকারী-পিতামাতা / 2.0.0-alpha-10 / সঙ্কুচিত-বর্ণনাকারী-পিতামাতা-2.0.0-আলফা -10.পোমটি না অস্তিত্ব রয়েছে `` `
ডিং-ইয়ি চেন

1
মাল্টি-মডিউল মাভেন প্রকল্পের জন্য (অর্থাত্ বেশ কয়েকটি pom.xmlফাইল সহ প্রকল্প ) আপনার ত্রুটি হতে পারে। mvn compile dependency:treeতাহলে চেষ্টা করুন ।
izogfif

49

যদি আপনি কোনও নমুনা প্রকল্প তৈরি করতে এবং এতে আপনার তৃতীয় পক্ষের নির্ভরতা যুক্ত করতে বিরক্ত হন, তবে নির্ভরতার পুরো শ্রেণিবিন্যাস দেখতে আপনি নিম্নলিখিতটি চালাতে পারেন।

আপনি এই মাভেন কমান্ডটি ব্যবহার করে একটি নির্দিষ্ট শিল্পকর্ম অনুসন্ধান করতে পারেন :

mvn dependency:tree -Dverbose -Dincludes=[groupId]:[artifactId]:[type]:[version]

ডকুমেন্টেশন অনুযায়ী:

যেখানে প্রতিটি প্যাটার্ন বিভাগটি alচ্ছিক এবং পূর্ণ এবং আংশিক * ওয়াইল্ডকার্ড সমর্থন করে। একটি খালি প্যাটার্ন বিভাগটি অন্তর্ভুক্ত ওয়াইল্ডকার্ড হিসাবে গণ্য করা হয়।

কল্পনা করুন যে আপনি আপনার প্রকল্পের বিভিন্ন মডিউলগুলির মধ্যে 'log4j-1.2-api' জার ফাইলটি সন্ধান করার চেষ্টা করছেন:

mvn dependency:tree -Dverbose -Dincludes=org.apache.logging.log4j:log4j-1.2-api

আরও তথ্য এখানে পাওয়া যাবে

সম্পাদনা: দয়া করে নোট করুন যে ভার্বোজ প্যারামিটার ব্যবহারের সুবিধাগুলি সত্ত্বেও , এটি কিছু অবস্থাতে এতটা সঠিক নাও হতে পারে। কারণ এটি ম্যাভেন 2 অ্যালগরিদম ব্যবহার করে এবং ম্যাভেন 3 এর সাথে ব্যবহার করার সময় ভুল ফলাফল দিতে পারে।


2
দুর্দান্ত পরামর্শ! -Dverboseআমার প্রয়োজনীয় গাছটি আমাকে দেখাতে যথেষ্ট ছিল। আউটপুটটি পাইপ করা lessবা অনুরূপ এবং দ্রুত অনুসন্ধান করা দুর্দান্ত কাজ করে যদি আপনি includesপতাকাটি মনে করতে না পারেন বা পুরো বা ওয়াইল্ডকার্ড সরবরাহ করতে না চান groupId:)
জোকুল

এটি কোনও pom.xML উপস্থিত ছাড়াই কাজ করছে না যাতে আপনি যে নিদর্শনটি দেখছেন তা রয়েছে। অন্যথায় আপনি পাবেন[ERROR] Failed to execute goal org.apache.maven.plugins:maven-dependency-plugin:2.8:tree (default-cli): Goal requires a project to execute but there is no POM in this directory (...). Please verify you invoked Maven from the correct directory. -> [Help 1]
আইজেনকনুর

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

6

সমাধানটি নির্ভরতা বলা হয়: আর্টিফ্যাক্টের pom.xML ফাইলের সাথে গাছ:

mvn -f "$HOME/.m2/repository/$POM_PATH" dependency:tree

এছাড়াও দেখুন কীভাবে কোনও সংগ্রহশালা থেকে কোনও শৈল্পিকের ট্রানজিটিভ নির্ভরতা তালিকাভুক্ত করা যায়?


এটি 'ডিস্ট্রিবিউশনমেজমেন্ট.স্ট্যাটাস'-এর কারণে কেন্দ্রীয় সংগ্রহশালা থেকে ডাউনলোড করা শৈলীগুলির সাথে কাজ করতে পারে না। এটি আপলোড নেভিগেশন কেন্দ্রীয় সংগ্রহশালা দ্বারা যুক্ত করা হয়। এবং এটি নির্ভরতা তৈরি করবে: পম ফাইলটিতে ট্রি ব্যর্থতা বৈধতা। দেখুন issues.apache.org/jira/browse/MNG-3178
Arnaud Jeansen

2

আপনি যদি m2eclipse এর একটি বর্তমান সংস্করণ ব্যবহার করেন (যা আপনি যদি গ্রহন এবং maven ব্যবহার করেন তবে):

মেনু এন্ট্রি নির্বাচন করুন

Navigate -> Open Maven POM

এবং আপনি সন্ধান করছেন নিদর্শন প্রবেশ করুন।

পমটি পম সম্পাদকটিতে খোলা হবে, যেখান থেকে আপনি Dependency Hierarchyনির্ভরতা স্তরক্রম দেখতে ট্যাবটি নির্বাচন করতে পারেন (নামটি যেমন বোঝায় :-))


2
ঠিক আছে, তবে এই উত্তরটি অন্য ব্যবহারকারীর জন্য :-)
সান প্যাট্রিক ফ্লয়েড

1

যদি আপনার শিল্পকলাটি কোনও প্রদত্ত প্রকল্পের নির্ভরতা না হয় তবে আপনার সেরা বাজি হ'ল একটি অনুসন্ধানের ইঞ্জিন ব্যবহার করা । তাদের মধ্যে একটি প্রদত্ত নিদর্শনটির নির্ভরতা বর্ণনা করে।


আমি আগ্রহী নিদর্শনগুলি কোনও সংস্থার পণ্যটির অংশ
এটি

তবে আমরার উত্তরটি আপনার সেরা বাজি, আমি ভীত।
সান প্যাট্রিক ফ্লয়েড

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

0

আপনি যদি নির্ভরতা গাছের কোনও গ্রাফিকাল, অনুসন্ধানযোগ্য উপস্থাপনা পেতে চান (আপনার প্রকল্পের সমস্ত মডিউল, ট্রানসিটিভ নির্ভরতা এবং উচ্ছেদের তথ্য সহ), আপডেটডিম্প্যাকটি দেখুন: https://app.updateimpact.com (নিখরচায় পরিষেবা)।

দাবি অস্বীকার: আমি সাইটের অন্যতম বিকাশকারী


0

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

একবার খোলা pom.xML ইনস্টল হয়ে গেলে আপনি নীচের মতো নির্ভরতা বিশ্লেষণ ট্যাবটি দেখতে পাবেন । এটি নির্ভরশীলতা দেখতে কেবল বিকল্প হিসাবে এবং গাছের কাঠামো হিসাবেও সরবরাহ করে।

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

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