যেখানে আমরা ব্যর্থ হয়েছিল সেখান থেকে আমরা কি মভেন বিল্ডটি শুরু করতে পারি?


90

মনে করুন, আমি আমার বৃহত প্রকল্পে একটি সম্পূর্ণ বিল্ড করছি যা 7 টি মডিউল এবং 6 তম মডিউলে, বিল্ডটি ব্যর্থ হয়েছে কারণ একটি পরীক্ষা ব্যর্থ হয়েছে। এমন কোনও উপায় আছে যার মাধ্যমে আমি বিল্ডটি ব্যর্থ হওয়ার জায়গা থেকে শুরু করতে পারি?

উত্তর:


135

আপনি 6 -rfবা মডিউলটি ব্যবহার করে বিল্ডটি পুনরায় শুরু করতে পারেন বা --resume-from:

-rf, --resume-from
          নির্দিষ্ট প্রকল্প থেকে চুল্লি পুনরায় শুরু করুন

দেখুন উন্নত চুল্লী বিকল্প বিস্তারিত জানার জন্য।


এর জন্য ধন্যবাদ। আমি এটি একটি শট দেব
শেখর

4
এটি ভাল, উপ- subproject/subsubproject
প্রকল্পগুলির জন্য কেবলমাত্র

13
উদাহরণ:maven -rf <module name> clean install
জোল্টন

9
এটি কেবল তখনই কাজ করেছিল যখন আমি মডিউলের নামটি কোনও কোলন দিয়ে প্রেন্ডেন্ট করি mvn -rf :moduleName install। (কোলনটির প্রয়োজন কেন ঠিক তা নিশ্চিত নয় তবে এটি সম্ভবত অন্তত আমার সেটআপের জন্য))
স্টিভ চেম্বারস

4
দেখে মনে হচ্ছে এটি কেবলমাত্র তখনই কাজ করে যদি আপনার প্রাথমিক বিল্ডটির কোনও installলক্ষ্য ছিল , কারণ পুনরায় শুরু করা বিল্ডটি এরপরে নির্ভরতা সমাধানের জন্য আপনার স্থানীয় মাভেন সংগ্রহশালা থেকে ইতিমধ্যে নির্মিত শিল্পকর্মগুলি পেতে পারে। installস্ন্যাপশটগুলির সাহায্যে আপনার স্থানীয় সংগ্রহস্থলকে ছড়িয়ে দেওয়ার পরে বিল্ডগুলি চালানো আমার খারাপ অভ্যাস বলে মনে হচ্ছে এবং আপনি যা আশা করছেন তার চেয়ে পুরানো স্ন্যাপশটের উপর নির্ভর করে আপনি শেষ হতে পারেন you দেখে মনে হচ্ছে এমন বিল্ডগুলির জন্য যেখানে আপনি কেবল packageএবং না install, ব্যবহার -rfকরা কোনও বিকল্প নয়: আপনাকে পুরো বিল্ডটি করতে হবে।
ফ্রান্স


9

-rfকমান্ডটি ব্যবহার করে আপনি যে কোনও মডিউল চান তা থেকে বিল্ডটি পুনরায় শুরু করতে পারেন । উদাহরণস্বরূপ, যদি আপনার বিল্ডটি মাইপ্রজেক্ট-প্রক্সিতে ব্যর্থ হয় তবে আপনি নিম্নলিখিত কমান্ডটি ব্যবহার করতে পারেন:

mvn -rf myproject-proxy clean install

এটি কাজ করার জন্য আমাকে একটি কোলন স্থাপন করা দরকার যেমন -আরএফ: আপনারমডিউল অন্যান্য উত্তরগুলি দেখুন।
গ্যাপমিস্টার 66

8

মাভেন সংক্ষিপ্তসারটি দেখুন এবং আপনি নির্বাহিত মডিউলগুলি দেখতে পাবেন এবং যেখানে ম্যাভেন থামানো হয়েছে। তারপরে এটি চেষ্টা করুন:

mvn clean install-Dmaven.test.skip=true -rf :yourModule

0

মার্টেন মুল্ডার্সের " হোয়াট নিউ ইন মেভেন 4 " (নভেম্বর 2020) অনুসারে , আপনি শীঘ্রই আসন্ন ম্যাভেন 4.0.0 (Q1 2021) এর সাথে সক্ষম হবেন

এই উদাহরণ প্রকল্প কাঠামো বিবেচনা করুন:

https://maarten.mulders.it/2020/11/whats-new-in-maven-4/example-pro__991f14f09d98e6139a671549a98c2057_118421_1037x555_resize_box_2.png

--Resume-from এর সাথে --also-make একসাথে ব্যবহার করুন

চুল্লিটির প্রথম উন্নতিটি একটি বাগ ফিক্স।
পূর্বে, যদি আপনার প্রকল্পের বিল্ড গ্রাহক মডিউল ব্যর্থ তোমাদের সঙ্গে বিল্ড পুনরায় শুরু করতে একটি ইঙ্গিত পেতে হবে --resume-from :client। তবে আপনি যদি তা করেন তবে বিল্ডটি আবার ভেঙে যাবে: এবার মাভেনের সাধারণ মডিউলটি খুঁজে পেল না।
আপনি ভাবতে পারেন যে যুক্ত করা --also-make(বা -am) এটিকে সম্বোধন করবে, তবে তা হবে না। এই দীর্ঘস্থায়ী বাগটি আর নেই।

আপনি যদি একত্রিত --resume-from :clientহন --also-makeতবে চুল্লিটি আপনার প্রকল্পের সমস্ত মডিউল আবিষ্কার করবে এবং আপনার অনুরোধ অনুযায়ী বিল্ডটি চালিয়ে যাবে।

ব্যর্থতার শেষ পয়েন্ট থেকে স্বয়ংক্রিয়ভাবে পুনরায় শুরু করুন

তবে সম্ভাবনাগুলি আপনি খেয়াল করবেন না। জিনিসটি --resume-from :clientহ'ল এটি আপনাকে প্রয়োজনের চেয়ে বেশি চিন্তা করতে বাধ্য করে।

ম্যাভেন 4 এর সাহায্যে আপনি আপনার জীবনকে আরও সহজ এবং ব্যবহার করতে পারেন --resumeবা -rসংক্ষেপে। এটি সর্বশেষে ব্যর্থ হওয়া মডিউল থেকে স্বয়ংক্রিয়ভাবে বিল্ডটি পুনরায় শুরু করবে

তবে আরও আছে! হতে পারে আপনি সমান্তরাল বিল্ড ব্যবহার করছেন । মডিউলগুলির একটি ক্রম সাফল্যের সাথে নির্মিত হয়েছিল, অন্যদিকে মডিউলগুলির অন্য সিকোয়েন্সের বিল্ডটি ভেঙে গেছে।
সেই দৃশ্যে, ব্যবহারের -rফলে পূর্ববর্তী বিল্ডে সফল হওয়া মডিউলগুলি এড়িয়ে যাবে।

এই দুটি বৈশিষ্ট্যের সংমিশ্রণটি আপনার বৃহত, এন্টারপ্রাইজ সফ্টওয়্যার প্রকল্পটি তৈরি করতে আপনার সময়ের প্রয়োজনের উন্নতি করতে পারে!


হ্যালো @ ভনসি, আমি টপিক প্রশ্ন জিজ্ঞাসা করছি। আমি জানতে চাই আপনি কোন নরম জিনিস রাখেন? আমি আপনার প্রোফাইল পৃষ্ঠায় জিরা, গিট, ম্যাভেন ইত্যাদি দেখেছি আপনি কি অবদানকারী? এবং কিভাবে আপনি গিট সম্পর্কে এত কিছু জানেন? এবং আপনি কি তাদের তৈরি? আমি কৌতূহলী ...
নিখিল স্বামী

4
@ নিখিলসামি আমি কাজের সময় ( github.com/VonC ) কয়েকটি সরঞ্জাম ব্যবহার করছি maintain এবং আমি ২০০৯ সালে স্ট্যাক ওভারফ্লো সম্পর্কে প্রশ্নের উত্তর দিয়ে গিট শিখেছি adays আজকাল, আমি গিট ব্যবহার করে বিকাশকারী দলগুলিকে সক্রিয়ভাবে সমর্থন করছি, তাই আমিও সেভাবে শিখি।
ভোনসি

-1

সিনট্যাক্স: এমভিএন-আরএফ মডিউলনাম মাভেনগোল বা এমভিএন --resume- থেকে মডিউলনাম মাভেনগোল

উদাহরণ: এমভিএন-আরএফ অ্যাডমিন-মডিউল ক্লিন ইনস্টল বা এমভিএন --resume-থেকে অ্যাডমিন-মডিউল ক্লিন ইনস্টল


-rfজন্য সংক্ষিপ্ত নয় --remove-from। এটির জন্য সংক্ষিপ্ত--resume-from
গিলি

-2

মডিউল 6 এর বিল্ডটি এখনও ব্যর্থ হয় কিনা তা দেখতে আপনি আলাদাভাবে চালনা করতে পারেন তবে আমি ভয় করি যে আপনি "বড়" বিল্ডটি চালাতে চাইলে আপনাকে শুরু থেকেই সমস্ত মডিউল তৈরি করতে হবে।

সম্পাদনা করুন: অবশ্যই পরবর্তী বিল্ডগুলি আরও ত্বরান্বিত হবে কারণ 1-5 মডিউলগুলির কোড ইতিমধ্যে সংকলিত রয়েছে, যদি না আপনি নিজের বিল্ডের অংশ হিসাবে পরিষ্কার পরিচালনা করেন।


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