মাভেন নির্ভরতা ব্যবহার করতে কীভাবে Eclipse বিল্ড পাথটি কনফিগার করবেন?


124

আমি মাভেন একটি প্রকল্পে নির্ভরতা পরিচালনার জন্য যে বৈশিষ্ট্যগুলি সরবরাহ করে সেগুলির সুবিধা নিতে চাই। মাভেন কীভাবে কাজ করে সে সম্পর্কে আমার সংক্ষিপ্ত ধারণাটি হ'ল এটি জেআরগুলির প্রয়োজনীয়তা অর্জন করবে এবং তারপরে এই লাইব্রেরিগুলির সাহায্যে প্রকল্পটি তৈরি করবে।

বর্তমানে আমার কাছে পরীক্ষা হিসাবে একটি সহজ পিওএম ফাইল সেট আপ হয়েছে:

<project xmlns="http://maven.apache.org/POM/4.0.0" 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.jamesgoodwin.test</groupId>
  <artifactId>com.jamesgoodwin.test</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <build>
  </build>
  <dependencies>
    <dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring-core</artifactId>
        <version>3.0.0.RELEASE</version>
        <type>jar</type>
        <scope>compile</scope>
    </dependency>
  </dependencies>
</project>

নির্ভরতা পরিচালনা করতে, আমি সাধারণত প্রকল্প বা জেআরটি নির্মাণের পথে যুক্ত করি এবং তারপরে আমি আমার প্রকল্পটি তৈরি করতে সক্ষম হব ..

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

উত্তর:


116

আপনি যদি আপনার প্রকল্পে ডান ক্লিক করেন তবে "নির্ভরতা পরিচালন সক্ষম করতে" "ম্যাভেন" এর অধীনে একটি বিকল্প থাকা উচিত। এটাই.


2
এমভিএনলিপিস ডিফল্টরূপে এটি করে না আপনি যদি এমভিএন ইক্লিপস দ্বারা তৈরি একটি প্রকল্প আমদানি করেন: গ্রহন, সুতরাং এটি সর্বদা লোককে ট্রিপ করে দেখায়।
ম্যাট বি

28
এটি আমার প্রকল্পের জন্য ইতিমধ্যে সক্ষম হয়েছিল। হতে পারে কারণ আমি কোনও বিদ্যমান প্রকল্পে একটি পম ফাইল যুক্ত করার সিদ্ধান্ত নিয়েছি? তবে মাভেন করছেন> আপডেট প্রকল্প কনফিগারেশনটি এটি আমার জন্য স্থির করেছে বলে মনে হচ্ছে। এছাড়াও এটি আপনার উত্তর ছিল যা শেষ পর্যন্ত আমাকে সেই সরঞ্জামদণ্ডটি আবিষ্কার করতে পরিচালিত করেছিল যেখানে আমি প্রকল্পটি ঠিক করতে পারি। অনেক ধন্যবাদ
জেমস গুডউইন

12
ডান-ক্লিক মেনুতে "ম্যাভেন" বিকল্প না থাকলেও, আমার কাছে এম 2 স্লিপস ইনস্টল করা আছে বলে মনে হচ্ছে কি?
dfrankow

85
আহ, "কনফিগার করুন" => "ম্যাভেন প্রকল্পে রূপান্তর করুন" আপনার বন্ধু!
dfrankow

2
@dfrankow কী "কনফিগার" => "রূপান্তর করুন ম্যাভেন প্রকল্প" বিকল্পের অস্তিত্ব না থাকলে ??
ভাসিলাকিসফিল

67

যদি আপনি মৃত্যুদণ্ড কার্যকর

mvn eclipse:clean

অনুসরণ করেছে

mvn eclipse:eclipse

যদি .classpathআপনার জন্য গ্রহগ্রহের ফাইল প্রস্তুত করে । অর্থাত্, এই কমান্ডগুলি কমান্ড লাইন থেকে গ্রহটির বাইরে থেকে মেভেনের বিরুদ্ধে চালিত হয়।


নোট করুন যে এটি আপনার নির্ভরতাগুলি উল্লেখ করতে ক্লাসপাথ ভেরিয়েবল (M2_REPO) ব্যবহার করে কাজ করে, এটি এম 2 স্লিপস ব্যবহার করে না এবং আমি বিশ্বাস করি না যে আপনি প্রকল্পে কাজ করার সময় এটি যুক্ত হয়েছে এবং নির্ভরতাগুলি যুক্ত করেছে - তবে এটি পাওয়ার জন্য দুর্দান্ত প্রাথমিক সেটআপ চলছে
ম্যাট বি

@ ম্যাট বি: আপনার এমভিএন গ্রহনটি পুনরায় করা দরকার: প্রতিবার আপনার নির্ভরতা বদলে গ্রহন করুন।
বুহব

বুহব যা বলেছিলেন তা যুক্ত করতে, এমএনভি এক্সিলিপটি করুন: কমান্ড লাইনেই গ্রহন করুন এবং প্রতিবার আপনি পম.এক্সএমএল-তে আরও ডিপ যোগ করার সময় গ্রহন প্রকল্পটি রিফ্রেশ করুন।
বিনিল টমাস

5
M2eclipse প্লাগইন ব্যবহার করার সময় এর প্রয়োজন নেই।
পাস্কেল থিভেন্ট

3
আমি এম 2 স্লিপস প্লাগইনটি ব্যবহার করছি এবং একটি বিদ্যমান মেভেন প্রকল্পটি গ্রহনে আমদানির পরে সমস্যাটি অনুভব করছিলাম। এরকম mvn eclipse:cleanএবং mvn eclipse:eclipseআসলে আমার জন্য সমস্যা সংশোধন।
আইয়ুব

29

আমি ধরে নিচ্ছি আপনি যেমনটি উল্লেখ করেছেন তেমন আপনি m2eclipse ব্যবহার করছেন। তবে আপনি কীভাবে আপনার প্রকল্পটি গ্রহণের অধীনে তৈরি করেছেন তা না তা পরিষ্কার নয় তাই আমি সমস্ত ঘটনা কভার করার চেষ্টা করব।

  1. আপনি যদি Eclipse (Ctrl + N> জাভা প্রকল্প) এর অধীনে একটি "জাভা" প্রকল্প তৈরি করেন, তবে প্যাকেজ এক্সপ্লোরার ভিউতে প্রকল্পটি ডান ক্লিক করুন এবং মাভেন> ডিপেন্ডেন্সি ম্যানেজমেন্ট সক্ষম করুন (প্রাথমিক প্রকল্পের কাঠামোর উপর নির্ভর করে, আপনি সংশোধন করতে পারেন) এটি মেভেনের সাথে মেলে, উদাহরণস্বরূপ বিল্ড পাথের উত্স ফোল্ডারে যুক্ত করে)।src/java

  2. আপনি যদি Eclipse (Ctrl + N> মাভেন প্রকল্প) এর অধীনে একটি "ম্যাভেন প্রজেক্ট" তৈরি করেন তবে এটি ইতিমধ্যে "ম্যাভেন রেডি" হওয়া উচিত।

  3. আপনি অন্ধকার (ম্যানুয়ালি অথবা একটি আদিরূপ সঙ্গে), তারপর কেবল বাইরে একটি ম্যাভেন প্রোজেক্ট তৈরি তাহলে আমদানি (অন্ধকার এটা ডান-ক্লিক করুন প্যাকেজ এক্সপ্লোরার দৃশ্য নির্বাচন আমদানি ...> ম্যাভেন প্রকল্প ) এবং এটা হতে হবে "ম্যাভেন প্রস্তুত"।

এখন নির্ভরতা যুক্ত করতে প্রকল্পটি ডান ক্লিক করুন এবং মাভেন> নির্ভরতা নির্বাচন করুন ) বা ম্যানুয়ালি পম সম্পাদনা করুন।

পিএস: আপনি এম 2 স্লিপস ব্যবহার করছেন তবে ম্যাগেন -অ্যাক্লিপস-প্লাগইন ব্যবহার এড়িয়ে চলুন। এটির জন্য একেবারেই দরকার নেই, এটি বিভ্রান্তিকর হবে, এটি কিছুটা বিশৃঙ্খলা সৃষ্টি করবে। না, সত্যিই, আপনি কী করছেন তা যদি না জানেন তবে এটি ব্যবহার করবেন না।


2
সবেমাত্র জানতে পেরেছি যে ম্যাভেন-অ্যাক্লিপস-প্লাগইনটি ছিল আমার অদ্ভুত অমীমাংসিত নির্ভরতা ত্রুটির কারণ। ধন্যবাদ!
ভান ওয়াচ

1
আমি কেবল অফিসিয়াল সাইট থেকে ডাউনলোড করা এলিপিসনিউনটি ব্যবহার করি .. স্ট্যান্ডার্ড জাভা প্রজেক্ট তৈরির পরে মেনুতে কোনও ম্যাভেন বিকল্প নেই we আমাদের কি আলাদাভাবে কিছু ইনস্টল করতে হবে বা নিওনের সাথে সবকিছু ইতিমধ্যে ডাউনলোড করা আছে?
ইওকস

@ প্যাসাল থিভেন্ট, আমি ম্যাভেন প্রকল্পটি আমদানি করেছি। আমি
সৈয়দ

19

এটি .classpath ফাইলটিতে যুক্ত করুন ..

<classpathentry kind="con" path="org.eclipse.m2e.MAVEN2_CLASSPATH_CONTAINER">
    <attributes>
        <attribute name="maven.pomderived" value="true"/>
    </attributes>
</classpathentry>

ধন্যবাদ


1
হ্যাঁ, গত কয়েক বছর ধরে আমাকে সেই ম্যানুয়ালি যেকোন জায়গায় যুক্ত করা দরকার .... কেন তারা গ্রাহক প্লাগইনগুলি স্বয়ংক্রিয়ভাবে মাভেনের নির্ভরতা পুনরায় সংযুক্ত করার জন্য উত্সাহিত করবেন না ??
রেজার

1
এই সমাধানের জন্য ধন্যবাদ। এটি আমার পক্ষে কাজ করেছে। আমি দুর্ঘটনাক্রমে .প্রজেক্ট এবং .ক্লাসপাথ ফাইলগুলি মুছলাম। এই সমাধানটি শ্রেনীর পথে মুভেন নির্ভরতা যুক্ত করার জন্য আমার পক্ষে কাজ করেছিল
তাহির মেহমুদ

উপরের ক্লাসপাথ ফাইলটি স্বয়ংক্রিয়ভাবে উত্পন্ন করার শর্টকাটটি প্রকল্প -> মেভেন -> প্রকল্প আপডেট করুন অন্যথায় কেবল আল্ট + এফ 5
ভেঙ্কটেশ্বর রাও

আমার জন্যও কাজ করেছেন। আমার বেশিরভাগ অনুপস্থিত নির্ভরতা সমাধান করেছে তবে এখনও বেশ কয়েকটি সমস্যা রয়েছে, তাই আমি আশ্চর্য হই যে আরও বেশি ব্যবহারকারী-বান্ধব সমাধানগুলি কাজ করছে না কারণ কোথাও একটি ছোট ত্রুটি রয়েছে (তবে এই আচরণটি সমস্যার ডিবাগ করতে সহায়তা করে না ...)
xenoid

14

প্রকল্পটি কনফিগার> মাভেন প্রকল্পে রূপান্তর করতে ডান ক্লিক করুন

তারপরে আপনি আপনার প্রকল্পের জন্য সমস্ত মেভেন সম্পর্কিত মেনু দেখতে পাবেন।


আপনি যদি প্রথমে এমভিএন প্রকল্প তৈরি না করেন সঠিক উপায়ে
হ্যানস স্নাইডারমায়ার

10

আমি এই মত ..

প্রকল্পে ডান ক্লিক করুন -> কনফিগার -> মভেন প্রকল্পে রূপান্তর। প্রকল্পে ডান ক্লিক করুন -> maven -> নির্ভরতা যুক্ত করুন।


5

Eclipse (মঙ্গল) এ যান:

প্রকল্পের বৈশিষ্ট্য -> ম্যাভেন। "ওয়ার্কস্পেস প্রকল্পগুলি থেকে নির্ভরতাগুলি সমাধান করুন" অক্ষম রয়েছে তা নিশ্চিত করুন


এটি আসল সমস্যাটির সমাধান করেনি, তবে এটি কয়েক সপ্তাহ ধরে যাচ্ছিল এমন আরও একটি অনড় সমস্যার সমাধান করেছিলাম that এই বিকল্পটি অক্ষম করার পরে, আমার প্রকল্পটি, যা কেবলমাত্র একটি মাভেন কমান্ড লাইন থেকে চলছিল, এখন আবার গ্রহণের অভ্যন্তরে চলছে! ধন্যবাদ!
বিল হিলেমান

4

আমি খাঁটি বা কনফিগার মেনুগুলি খুঁজে পাইনি তবে নীচের বোতামটি পেয়েছি যা আমার সমস্যার সমাধান করেছে:

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


2

যখন এম 2 স্লিপস সঠিকভাবে ইনস্টল করা হয় তখন এটি স্বয়ংক্রিয়ভাবে নির্ভরতা যুক্ত করা উচিত। যাইহোক, আপনার প্রবেশ করে গ্রহন প্রকল্প প্রকল্প উত্পন্ন করা উচিত:

mvn eclipse:m2eclipse

অথবা, বিকল্প হিসাবে যদি আপনি এম 2 স্লিপস ব্যবহার না করেন:

mvn eclipse:eclipse

3
দৃষ্টি আকর্ষণ: যেহেতু সংস্করণ ২.৮ মভেন-অ্যাক্লিপস-প্লাগইনটি "গ্রহন: m2eclipse" আর সমর্থন করে না (কারণ / কারণগুলি খুঁজে
পাচ্ছে

1

আমার কিছুটা পার্থক্য ছিল যা কিছু সমস্যার কারণ ঘটায় - এক প্রকল্পের মধ্যে একাধিক সাব প্রকল্প। এই ক্ষেত্রে আমার প্রতিটি পৃথক ফোল্ডারে একটি পিওএম থাকা, এমভিএন ইক্লিপ: এক্সপ্লিট কমান্ড এক্সিকিউট করা এবং তারপরে ম্যানুয়ালি আমার প্রজেক্টের ক্লাসপাথ ফাইলে ক্লাসপাথের প্রবেশাগুলি অনুলিপি / মার্জ করা দরকার।


1

নতুন এক্লিপ সংস্করণগুলির জন্য (> = মঙ্গল) প্রকল্পে> কনফিগার করুন> মাভেন প্রকল্পে রূপান্তর করতে ডান ক্লিক করুন


1

বেশ কয়েকটি কারণে আমার উত্তর যুক্ত করা হচ্ছে:

  • কোনওভাবেই উত্তরগুলির তালিকাভুক্ত কোনওই আমার সমস্যার সমাধান করেনি।
  • আমি মাভেনের অধীনে "নির্ভরশীলতা সক্ষম করুন সক্ষম করুন" খুঁজে পেলাম না। আমি বুধ, 4 ফেব্রুয়ারী 2015 এ 4.4.2 বিল্ডিং গ্রহণ করছি।

আমাকে যেটা সাহায্য করেছিল সেটি "আপডেট প্রজেক্ট" নামে অভিহিত আরেকটি বিকল্প এবং তারপরে আমি যখন এটি ক্লিক করি তখন এই উইন্ডোটি খোলে যার একটি চেকবক্স রয়েছে যা "স্ন্যাপশট / রিলিজের ফোর্স আপডেট" বলে says এই চেকবক্সটির আসল উদ্দেশ্যটি আমি জানি অন্যরকম তবে এটি নির্ভরতা সমস্যাটি সমাধান করেছে resolved এখানে চিত্র বর্ণনা লিখুন


1

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


0

হতে পারে আপনি M2Eclipse এর পরিবর্তে মভেন - ইক্লিপস -প্লাগইন সন্ধান করতে পারেন ।

সেখানে আপনি মূলত আপনার pom.xML- এ maven-eclipse-login কনফিগারেশন যুক্ত করুন এবং তারপরে এক্সিকিউট করুন mvn eclipse:eclipseযা Eclipse এর জন্য প্রয়োজনীয় .projectএবং .classpathফাইল উত্পন্ন করবে । তারপরে আপনার কাছে Eclipse এ সঠিক বিল্ড পাথ থাকবে।


গ্রহন: গ্রহন খুব খারাপ, মাভেনের উপর নির্ভর না করে আপনার নির্ভরতার সাথে একে একে সমস্ত লাইব্রেরি যুক্ত করে
রেজার

0

নিশ্চিত করুন যে আপনার পিওএম নামকরণের কনভেনশন অনুসরণ করে এবং তার নাম ছোট হাতের অক্ষরে লেখা আছে pom.xmlএবং হিসাবে নেই POM.xml

আমার ক্ষেত্রে সব ঠিক ছিল, তবে রাইট-ক্লিক করার চেষ্টা করার সময় এবং গ্রিপস তখনও অভিযোগ করেছিল এবং Update project configuration- আমাকে বলেছিল যে পিওএমটি পড়া যায় না। নামটি ছোট হাতের অক্ষরে - pom.xmlথেকে POM.xml- পরিবর্তন করে এবং এটি কার্যকর worked


0

আমি এই সমস্যাটিও পূরণ করেছি। আমি যখন নির্ভরতা যুক্ত করি pom.xml, আমি স্থানীয় ফোল্ডারে চেক করেছিলাম /Users/xyz/.m2/এবং জারগুলি সেখানে ইতিমধ্যে ডাউনলোড করা হয়েছে, তবে গ্রহনের বিল্ডপথটি যোগ করতে পারে না।

আমার গ্রহণের সংস্করণ: মঙ্গল ২ রিলিজ (৪.৪.২)

রাইট ক্লিক করুন প্রকল্প > ম্যাভেন > ওয়ার্কস্পেস রেজোলিউশন সক্ষম করুন

এবং এটি আমার সমস্যার সমাধান করে।


0

সাধারণত আপনি কোনও ওয়ার্কিং প্রকল্প থেকে .classpath ফাইলটি অনুলিপি করতে পারেন যেহেতু এখানে একটি নির্দিষ্ট প্রকল্প নেই যা ধরে নিয়েছে যে আপনি একটি স্ট্যান্ডার্ড মাভেন প্রকল্প হিসাবে কাঠামোযুক্ত।


0

এটি আমার জন্য এক্লিপ্স অক্সিজেনে (4.7.0) কাজ করেছে:

প্রোজেক্ট -> ম্যাভেন -> মাভেন প্রোফাইল নির্বাচন করুন রাইট ক্লিক করুন ... তারপরে সংগ্রহস্থল প্রক্সি বাক্সটি চেক করুন, ওকে চাপুন।

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