বিদ্যমান ইলিপ্স প্রকল্পকে মাভেন প্রকল্পে রূপান্তর করুন


246

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

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


3
আপনার বিদ্যমান বিল্ড একটি পিঁপড়া স্ক্রিপ্ট ব্যবহার করে?
ম্যাট বি খ

4
আপনার সম্ভবত গ্রহণযোগ্য উত্তরটি স্যুইচ করা উচিত
Mr_and_Mrs_D

উত্তর:


141

আপনি যদি কেবল একটি ডিফল্ট পিওএম তৈরি করতে চান এবং এম 2 স্লিপস বৈশিষ্ট্যগুলি সক্ষম করতে চান: তাই আমি ধরে নিচ্ছি যে আপনার কাছে বর্তমানে কোনও বিকল্প স্বয়ংক্রিয় বিল্ড সেটআপ নেই যা আপনি আমদানির চেষ্টা করছেন, এবং আমি ধরে নিচ্ছি আপনি এম 2 স্লিপস প্লাগইন সম্পর্কে কথা বলছেন।

M2eclipse প্লাগইনটি এই ডিফল্ট pom.xML যুক্ত করার জন্য একটি প্রকল্পের ডান-ক্লিক বিকল্প সরবরাহ করে:

আরও নতুন এম 2 ই সংস্করণ

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

পুরানো এম 2 ই সংস্করণ

প্রকল্প -> সাবমেনু মাভেন -> নির্ভরতা পরিচালনা সক্ষম করুন ডান ক্লিক করুন।

এটি সেই প্রকল্পের জন্য প্লাগইন সক্ষম করতে প্রয়োজনীয় করবে।


উত্তর দিতে ' কোনও স্বয়ংক্রিয় আমদানিকারক বা উইজার্ড আছে? ': আমি জানি না। উপরের বিকল্পটি ব্যবহার করা আপনাকে ম্যানুয়াল অনুলিপি এড়ানো আপনার বিদ্যমান প্রকল্পের জন্য m2eclipse প্লাগইন সক্ষম করার অনুমতি দেবে। নিজেকে তৈরি করার জন্য আপনাকে এখনও নির্ভরতা এবং অন্যান্য জিনিসগুলি সেট আপ করতে হবে।


যদিও এটি এম 2 এক্সপ্লাইস সক্ষম করে, এটি কোনও উইজার্ড আসলে বিদ্যমান ইলিপস প্রকল্প আমদানি করে না। বরং এটি ব্যবহারকারীকে নির্ভরতা ইত্যাদি নির্বাচন করার একটি বিকল্প দেয়, যা যদি মাভেনের সাথে খুব বেশি অভিজ্ঞতা না হয় তবে এটি কঠিন হতে পারে।
কালেব পেডারসন

আমি প্রশ্নের ব্যাখ্যা দিয়েছিলাম 'm2eclipse প্লাগইনটি ব্যবহার করার জন্য আমাকে কী নতুন প্রকল্প তৈরি করতে এবং ম্যানুয়ালি স্টাফগুলি অনুলিপি করতে হবে?', আমি স্পষ্ট করে বলব।
ব্র্যাবস্টার

16
ডাবল ক্লিক মেনু (সর্বশেষ m2eclipse) থেকে ম্যাগেন মেনু আইটেমটি উপলভ্য নয়, চেংডংয়ের উত্তর কাজ করে।
wulgargarpro

8
Eclipse (4.2) এবং m2eclipse এর বর্তমান সংস্করণে মেনু আইটেমটি রূপান্তর করুন / রূপান্তর করুন ম্যাভেন প্রকল্পে।
জেস্পার

12
@ জেস্পার মেনু আইটেমটি হ'ল "মাভেন প্রকল্পে কনফিগার করুন / রূপান্তর করুন"
এঞ্জেলসারভেরা

293

এম 2 ই 0.13.0 থেকে শুরু করুন (এর আগে না হলে), আপনি জাভা প্রকল্পটি প্রসঙ্গ মেনু থেকে মাভেন প্রকল্পে রূপান্তর করতে পারেন। এটি এখানে:

  • প্রসঙ্গ মেনু পপ আপ করতে জাভা প্রকল্পে ডান ক্লিক করুন
  • কনফিগার নির্বাচন করুন > মেভেন প্রকল্পে রূপান্তর করুন

স্ক্রিন শট সহ বিশদ পদক্ষেপ এখানে ।


30
এটি এখনও ডিরেক্টরি কাঠামো তৈরি করে না এবং pom এ নির্ভরতা যুক্ত করে না।
ক্লাউস এনজি

2
এম 2 ই এখনও কি মভেন ডিরেক্টরি কাঠামো তৈরি করে না এবং পোমে নির্ভরতা যুক্ত করে?
মিঃ_আর_আমস_ডি

2
নীচে উল্লিখিত আমার সমাধান (@ শ্রীকান্ত বশিষ্ঠ) এখানে বর্ণিত সমস্ত সমস্যার সমাধান করে। মাভেন স্ট্রাকচার তৈরি করে, ফোল্ডারের নামগুলিতে ফাঁকগুলি সরিয়ে দেয়, pom.xml তৈরি করে এবং মাভেন স্ট্রাকচারে উত্স ফোল্ডারগুলি সরিয়ে দেয়
শ্রীকান্ত বশিষ্ঠ

উইন্ডোজ 10 Eclipse মঙ্গল গ্রহে সেই সময়ে নিখুঁত এবং নির্দোষ কাজ করে।
ম্যাথিস কোহলি 17

এটি আমার পক্ষে নিখুঁত কাজ করে
WitnessTruth

12

আমারও একই সমস্যা ছিল এবং আমি প্রায় E০ টি গ্রহিত প্রকল্প সমেত পুরো গ্রহণার কর্মক্ষেত্রকে Mavenise করতে চেয়েছিলাম। ম্যানুয়ালি এমনটি করার জন্য প্রচুর সময় এবং বিকল্প বিকল্পগুলি প্রয়োজনীয় ছিল না able ইস্যুটি সমাধান করার জন্য আমি শেষ পর্যন্ত গিথুবে গ্রহন-থেকে-মেভেন নামে একটি প্রকল্প তৈরি করেছি । যেহেতু গ্রহগ্রহের নির্ভরতা সম্পর্কে সমস্ত প্রয়োজনীয় তথ্য নেই, এটি নিম্নলিখিতটি করে:

  • <classpathentry/>.Classpath ফাইলে এক্সএমএল উপাদানগুলির উপর ভিত্তি করে , এটি অন্য প্রকল্পের উপর নির্ভরতা তৈরি করে, গ্রন্থাগার জার ফাইলটি সনাক্ত করে এবং এর নামের উপর ভিত্তি করে (উদাহরণস্বরূপ জাকার্তা-অরো -০.০.৮.জার) এর সংস্করণ সনাক্ত করে। বর্তমানে artifactIdএবং groupIdএকইরূপে আমি এমন কিছু খুঁজে পাইনি যা নির্ভর করে নির্ভরতা ম্যাভেন গ্রুপআইডি আমাকে ফিরিয়ে দিতে পারে artifactId। এটি নিখুঁত সমাধান না হলেও এটি মাভেনাইজেশনকে গতিময় করার জন্য একটি ভাল গ্রাউন্ড সরবরাহ করে।

  • এটি মাভেন কনভেনশন অনুসারে সমস্ত উত্স ফোল্ডার সরিয়ে দেয় (লাইক src/main/java)

  • যেহেতু Eclipse প্রকল্পগুলির ফাঁকা জায়গাগুলির নামগুলি লিনাক্স / ইউনিক্স পরিবেশের সাথে মোকাবেলা করা কঠিন, তাই এটি তাদের নামকরণ এবং স্থান ছাড়াই নামগুলির সাথে নাম দেয়।

  • ফলাফল pom.xML ফাইলগুলি নির্ভরতা এবং বেসিক পোম কাঠামো ধারণ করে। আপনাকে ম্যানুয়ালি প্রয়োজনীয় মাভেন প্লাগইন যুক্ত করতে হবে।


মজাদার ! এটি লুনায় পোর্ট করা আছে? প্রকল্পটি কি এখনও একটি গ্রহণ প্রকল্প হবে (বৈধ .classpath.projectফাইল)? কীভাবে আপনি আপনার উত্তরে যুক্ত করতে পারেন কীভাবে একটি সাধারণ জাভাসি প্রকল্পকে আপনার প্লাগইনটি ব্যবহার করতে পারেন - এবং ডিরেক্টরি কাঠামোর প্রকৃত পরিবর্তনগুলি কী হবে?
মিঃ_আর_আমস_ডি

দুঃখিত তবে লুনা কী তা আমি জানি না। প্রকল্প ডিরেক্টরি কাঠামো পরিবর্তিত হওয়ার সাথে সাথে এটি আর বৈধ গ্রহন প্রকল্প হবে না। তবে মাভেন ব্যবহার করে পরিবর্তিত গ্রহপ কনফিগারেশন তৈরি করা সহজ is এটি কোনও প্লাগইন নয় বরং একটি সরঞ্জাম। কীভাবে এটি চালানো যায় তা ইতিমধ্যে প্রকল্পের README এ উল্লেখ করা হয়েছে। ডিরেক্টরি কাঠামোটি ম্যাভেন কনভেনশনে রূপান্তরিত হয়। সুতরাং সমস্ত উত্স উদাহরণস্বরূপ src / main / java তে যান।
শ্রীকান্ত বশিষ্ঠ 9

লুনা গ্রহনের সর্বশেষতম সংস্করণ !!
মিস্টার_আর_মিসি_ডি

7

প্রকল্পের নাম> কনফিগার> মেভেন প্রকল্পে রূপান্তর করুন> ক্লিক করুন সমাপ্তিতে ডান ক্লিক করুন। আপনার প্রত্যাশিত জার ফাইলটি ডাউনলোড করতে এবং যোগ করতে এখানে আপনি কিছু নির্ভরতা যুক্ত করবেন।

এটি একটি স্বয়ংক্রিয় উত্পন্ন pom.xML ফাইল তৈরি করবে। ফাইলটি আপনার এক্সিলিপ এডিটরটিতে এক্সএমএল ফর্ম্যাটে খুলুন। বিল্ড ট্যাগের পরে ( </build>) আপনার নির্ভরতাগুলি যুক্ত করুন যা আপনি মভেন ওয়েবসাইট থেকে অনুলিপি করতে পারেন এবং সেগুলি সেখানে যুক্ত করতে পারেন। এখন আপনি যেতে ভাল। এই নির্ভরতা স্বয়ংক্রিয়ভাবে আপনার প্রয়োজনীয় জার ফাইল যুক্ত করবে।


1
এটি কি মাভেন ফোল্ডার কাঠামো তৈরি করবে?
মিঃ_আর_আমস_ডি

হ্যাঁ, এটি উপযুক্ত ম্যাপযুক্ত আরকিটাইপ টেম্পলেট এবং সর্বনিম্ন কনফিগারেশনের উপর ভিত্তি করে মেভেন ফোল্ডার কাঠামো তৈরি করবে। আপনি নিজের প্রতিটি প্রকল্প নির্ভরতা (। ক্লাসপাথ থেকে) পিওএম.এমএমএলে নিজেকে যুক্ত করতে পারেন একবারে একবারে নিজেই one
প্রতাপ সিং

5

চেংডংয়ের উত্তর সঠিক, আপনার ব্যবহার করা উচিত Configure>Convert to Maven Project। যাইহোক, আমার অবশ্যই যুক্ত করতে হবে যে রূপান্তর প্রক্রিয়া এম 2 ই 0.13.0 থেকে শুরু হয়েছে: এম 2 ই 1.1+ এবং এম 2 ই-ডাব্লুটিপি 0.16.0+ এখন বিদ্যমান গ্রহপ সেটিংসকে ম্যাভেন প্লাগইন কনফিগারেশনে রূপান্তর করতে পারে ।

নির্ভরতা রূপান্তর বিষয় হিসাবে, আপনি জেবস সরঞ্জাম (জেবিটি) 4.0.০ মাভেন ইন্টিগ্রেশন বৈশিষ্ট্যটি দেখতে পারেন, যা পরীক্ষামূলক রূপান্তর উইজার্ড ধারণ করে এম 2 এর রূপান্তর প্রক্রিয়াতে প্লাগ হয়েছে: http://docs.jboss.org/tools/whatsnew/maven/ maven-news-4.0.0.Beta1.html

এটি চূড়ান্ত সমাধান (কিছুই পারে না) হওয়ার ভান করে না, এটি আপনার মেভেন রূপান্তর প্রক্রিয়াটিকে বুটস্ট্র্যাপে ব্যাপকভাবে সহায়তা করা উচিত।

এছাড়াও, এফওয়াইআই, এম 2e রূপান্তর প্রক্রিয়াটি বাড়ানোর জন্য এখানে কিছু ধারণা দেওয়া হয়েছে , একটি ম্যাভেন লেআউট ব্যবহার করার জন্য রিফ্যাক্টরিং সম্ভবত ভবিষ্যতে কার্যকর করা হবে।

জেবিটি ৪.০ (একটিলিপস জাভা ই ই জুনো প্রয়োজন) http://download.jboss.org/jbosstools/updates/stable/ juno/ বা Eclipse মার্কেটপ্লেস থেকে ইনস্টল করা যাবে


4

এটি প্রয়োজনীয় কারণ কম বা কম, যখন আমরা গিট থেকে কোনও প্রকল্প আমদানি করি তখন এটি কোনও মভেন প্রকল্প নয়, সুতরাং খাঁটি নির্ভরতাগুলি নির্মাণের পথে নয়।

একটি সাধারণ প্রকল্পকে কোনও মাভেন প্রকল্পে পরিণত করার জন্য আমি যা করেছি তা এখানে।

সাধারণ প্রকল্প -> জাভা প্রকল্পটি ডানদিকে ক্লিক করুন প্রকল্প, বৈশিষ্ট্য-> প্রকল্পের দিকগুলি, "জাভা" ক্লিক করুন। এই পদক্ষেপটি একটি সাধারণ প্রকল্পকে জাভা প্রকল্পে পরিণত করবে।

জাভা প্রকল্প -> মাভেন প্রকল্পের রাইট ক্লিক প্রজেক্ট, কনফিগার করুন -> ম্যাভেন প্রকল্পে রূপান্তর করুন এই মুহুর্তে, মাভেন নির্ভরতা lib এখনও নির্মাণের পথে নেই। প্রকল্পের বৈশিষ্ট্য, পাথ তৈরি করুন library লাইব্রেরি যুক্ত করুন, মাভেন নির্ভরতা যুক্ত করুন

এবং কয়েক সেকেন্ড অপেক্ষা করুন, যখন নির্ভরতা লোড হয়, প্রকল্পটি প্রস্তুত!


2

যে কোনও জাভা প্রকল্পকে এসবিটি / মাভেন প্রকল্পে রূপান্তর করতে একটি কমান্ড লাইন প্রোগ্রাম রয়েছে।

এটি সমস্ত জারগুলি সমাধান করে এবং SHA চেকসাম, শ্রেণিপথ বা ফাইলের উপর ভিত্তি করে সঠিক সংস্করণটি বের করার চেষ্টা করে। তারপরে এটি কোনও কার্যকারী কনফিগারেশন না পাওয়া পর্যন্ত উত্সগুলি সংকলনের চেষ্টা করে। প্রতি নির্ভরতা কনফিগারেশন সম্পাদন করার জন্য কাস্টম কার্যগুলিও দেওয়া যেতে পারে।

UniversalResolver 1.0
Usage: UniversalResolver [options]

  -s <srcpath1>,<srcpath2>... | --srcPaths <srcpath1>,<srcpath2>...
        required src paths to include
  -j <jar1>,<jar2>... | --jars <jar1>,<jar2>...
        required jars/jar paths to include
  -t /path/To/Dir | --testDirectory /path/To/Dir
        required directory where test configurations will be stored
  -a <task1>,<task2>... | --sbt-tasks <task1>,<task2>...
        SBT Tasks to be executed. i.e. compile
  -d /path/To/dependencyFile.json | --dependencyFile /path/To/dependencyFile.json
        optional file where the dependency buffer will be stored
  -l | --search
        load and search dependencies from remote repositories
  -g | --generateConfigurations
        generate dependency configurations
  -c <value> | --findByNameCount <value>
        number of dependencies to resolve by class name per jar

https://bitbucket.org/mnyx/universalresolver


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

1

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

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

অথবা আমার উচিত একটি নতুন মাভেন প্রকল্প তৈরি করা এবং ম্যানুয়ালি সমস্ত উত্স ফাইল, লিবস ইত্যাদি অনুলিপি করা উচিত

এটি আমার মতে সেরা বিকল্প হবে। একটি মাভেন প্রকল্প তৈরি করুন, স্বতঃ ডিরেক্টরিতে উত্স, সংস্থান, পরীক্ষা, পরীক্ষার সংস্থানগুলি অনুলিপি / সরান, নির্ভরতা ঘোষণা করুন ইত্যাদি etc.


কেন এই উত্তরটি +199 উত্তরের চেয়ে বেশি? আমি প্রায় এটি দেখতে পাই নি
এভরলর

1

গ্রেডলে রূপান্তর করার জন্য মাভেনের অ্যানালগ রয়েছে:

প্রকল্প -> সাবমেনু কনফিগার -> গ্রেডলে রূপান্তর (এসটিএস) প্রকল্পে ডান ক্লিক করুন


4
উত্তর প্রশ্নের সাথে সম্পর্কিত নয়
রিপন আল ওয়াসিম

1
গ্রেডলের সন্ধান করে আমি এই প্রশ্নটি খুঁজে পেয়েছি, অনেক সময় জিজ্ঞাসিত ওএসের চেয়ে অন্য ওএসের জন্য উত্তর যুক্ত করা সহায়ক কারণ এটি পৃথক ক্ষেত্রে কোনও প্রশ্নের অস্তিত্ব রাখে না। গ্রেডল সম্পর্কিত, আমি কী আমি সহায়ক বলে মনে করি তার উত্তর দেওয়ার জন্য একটি নতুন প্রশ্ন তৈরি করব না, বরং আমি এটি পোস্ট করছি। ধন্যবাদ & শুভেচ্ছা.
অন্য
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.