মাভেনের উপর নির্ভরতা যুক্ত করুন


134

আমি কীভাবে একটি জার ফাইল নেব এবং এটিকে ম্যাভেন 2 এ নির্ভরতা সিস্টেমে যুক্ত করব? আমি এই নির্ভরতার রক্ষণকারী হব এবং ক্লাসের পথে আমার কোডটির এই জারের দরকার যাতে এটি সংকলন হয়।

উত্তর:


139

আপনাকে দুটি পদক্ষেপে এটি করতে হবে:

1. আপনার জারকে একটি গ্রুপআইডি, আর্টিক্যাক্টআইডি এবং সংস্করণ দিন এবং এটি আপনার ভাণ্ডারে যুক্ত করুন।

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

mvn install:install-file -DgroupId=com.stackoverflow... -DartifactId=yourartifactid... -Dversion=1.0 -Dpackaging=jar -Dfile=/path/to/jarfile

আপনার যদি এটি থাকে তবে আপনি এটি আপনার অভ্যন্তরীণ সংগ্রহস্থলেও স্থাপন করতে পারেন এবং এটি আপনার সংস্থার অন্যান্য বিকাশকারীদের কাছে উপলভ্য করতে চান want আমি কেবলমাত্র আমার সংগ্রহস্থলের ওয়েব ভিত্তিক ইন্টারফেসটি নিদর্শনগুলি যুক্ত করতে ব্যবহার করি তবে আপনি একই জিনিসটি ব্যবহার করে সক্ষম হতে পারবেন mvn deploy:deploy-file ...

2. এই জেআর রেফারেন্স নির্ভর নির্ভর প্রকল্পগুলি আপডেট করুন।

তারপরে উপাদানগুলিতে নিম্নলিখিতটি যুক্ত করে JAR ব্যবহার করে এমন প্রকল্পগুলির pom.xML এ নির্ভরতা আপডেট করুন:

<dependencies>
    ...
    <dependency>
        <groupId>com.stackoverflow...</groupId>
        <artifactId>artifactId...</artifactId>
        <version>1.0</version>
    </dependency>
    ...
</dependencies>

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

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

93

আপনি কোনও নির্ভরতা নির্দিষ্ট করে রাখতে পারেন কোনও ম্যাভেন স্টোরের মধ্যে নেই। আপনার দলের জন্য কোনও কেন্দ্রীয় মাভেন রিপোজিটরি উপস্থিত না থাকলে বা আপনার যদি সিআই সার্ভার থাকে তখন দরকারী হতে পারে

    <dependency>
        <groupId>com.stackoverflow</groupId>
        <artifactId>commons-utils</artifactId>
        <version>1.3</version>
        <scope>system</scope>
        <systemPath>${basedir}/lib/commons-utils.jar</systemPath>
    </dependency>

4
আমি কি জারের পরিবর্তে অন্য কোনও পম ফাইলের উপর নির্ভর করতে পারি?
জেইন

45

আসলে, এটি তদন্ত করার পরে, আমি এই সমস্ত উত্তর ভুল বলে মনে করি। আপনার প্রশ্নটি আমাদের স্তরের বোধগম্যতার কারণে বিভ্রান্তিকর maven। এবং আমি আমাদের বলি কারণ আমি কেবল পরিচয় করিয়ে দিচ্ছি maven

ইন Eclipse, আপনি যখন আপনার প্রকল্পে একটি জার ফাইল যুক্ত করতে চান, সাধারণত আপনি জারটি নিজেই ডাউনলোড করেন এবং তারপরে এটি lib ডিরেক্টরিতে ফেলে দিন। ম্যাভেনের সাথে, আপনি এটি এভাবে করেন না। আপনি যা করেন তা এখানে:

  • Mvnrepository এ যান
  • আপনি যে লাইব্রেরি যুক্ত করতে চান তা অনুসন্ধান করুন
  • dependencyআপনার বিবৃতিটি অনুলিপি করুনpom.xml
  • মাধ্যমে পুনর্নির্মাণ mvn

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


5
আমি স্প্রিং টুল স্যুট ব্যবহার করছি (একলাইপসে নির্মিত)। উপরের সমাধানে 1 এবং 2 পদক্ষেপের পরে: 1. এসটিএস সম্পাদকটিতে pom.xML খুলুন, নীচে "নির্ভরতা" ট্যাবটি ক্লিক করুন 2 নির্ভরতা গ্রুপে "যোগ করুন" ক্লিক করুন browser. ব্রাউজার উইন্ডো থেকে "মাভেন" ট্যাব নির্ভরতা তথ্য অনুলিপি করুন / আটকান ( এসটিএস-এর "সিলেক্ট ডিপেন্ডেন্সি" পপআপের সাথে সম্পর্কিত ক্ষেত্রগুলিতে গ্রুপআইডি, আর্টিফ্যাক্টআইডি, সংস্করণ) 4.. ক্লিক করুন ওকে ক্লিক করুন 5..পম.এক্সএমএল সংরক্ষণ করুন একবার, এসটিএসে হার্ড ড্রাইভ এবং মভেন নির্ভরতা সেটিংয়ে আমার মভেন ডিরেক্টরিটি কয়েক সেকেন্ডের মধ্যে আপডেট হয়। আপনি সরাসরি .xML সম্পাদনা করতে পারেন, তবে সরঞ্জামটি ব্যবহার করা এক্সএমএল ফর্ম্যাট সমস্যা এড়াতে সহায়তা করতে পারে।
ক্রিস আর

2
এটি জিনিসগুলি করার পক্ষে পছন্দসই উপায়, তবে এমন পরিস্থিতি রয়েছে যেখানে আপনি এটি করতে পারবেন না (যেমন মালিকানার জারটি এমভিএনরেপোসিটোরিতে নয়)। সেক্ষেত্রে আপনার এটিকে "ম্যানুয়ালি" যুক্ত করার একটি উপায়ের প্রয়োজন হবে, সেক্ষেত্রে অন্য একটি উত্তরের সমাধান হতে পারে।
থান্ডারফোরে

এটিও সম্ভব যে জিজ্ঞাসা করা প্রশ্নটি কোনও প্রাথমিক প্রশ্নই কম ছিল। লোকেদের সাথে সময় কাটানোর সময় থেকে আসে এমন উপযুক্ত ফ্রেসিং ছাড়া কিছু করার জন্য সন্ধানকারী লোকদের আমি এটি রেখেছি। (আমি যেমন ছিলাম)
কিয়েভেলি

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

কীভাবে ইন্টেলজেজে মেভেনে প্রকল্পটি পুনর্নির্মাণ করবেন?
ইরফান নাসিম

14

আমি এটি করতাম:

  1. আপনার পোমের মতো নির্ভরতা যুক্ত করুন:

    <dependency>
            <groupId>com.stackoverflow...</groupId>
            <artifactId>artifactId...</artifactId>
            <version>1.0</version>
    </dependency>

  2. চালান mvn installএটি জারটি ডাউনলোড করার চেষ্টা করবে এবং ব্যর্থ হবে। প্রক্রিয়াতে, এটি আপনাকে ত্রুটি বার্তা সহ জারটি ইনস্টল করার সম্পূর্ণ কমান্ড দেবে। এই আদেশটি অনুলিপি করুন এবং এটি চালান! সহজ হাহ ?!


3

আমি ধরে নেব যে আপনি কীভাবে একটি "সুপরিচিত ভাণ্ডার" এর মধ্যে নির্ভরতা চালিয়ে যেতে বলছেন এবং কীভাবে আপনার POM আপডেট করবেন তা জিজ্ঞাসা করবেন না।

হ্যাঁ, তাহলে এই কি আপনি পড়তে চান হয়।

এবং যে কোনও অভ্যন্তরীণ সংগ্রহস্থল সার্ভার সেট আপ করতে চাইছেন, এখানে দেখুন (ম্যাভেন 2 ব্যবহার করে সমস্যাটির অর্ধেকটি ডকগুলি সন্ধান করছে)


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