কিভাবে কমান্ড লাইন থেকে মাভেন প্লাগইন এক্সিকিউশন কার্যকর করতে?


97

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

<plugin>
  <artifactId>maven-antrun-plugin</artifactId>
  <executions>
    <execution>
      <id>my-execution</id>
      ...
    </execution>
  </executions>
</plugin>

এটিকে এমন কিছু দিয়ে চালান:

mvn my-execution

অথবা কম পক্ষে

mvn magicplugin:execute -DexecutionId=my-execution

উত্তর:


133

এই কার্যকারিতাটি MNG-5768 হিসাবে প্রয়োগ করা হয়েছে এবং ম্যাভেন ৩.৩.১ এ উপলব্ধ।

পরিবর্তনটি হবে:

executionচ্ছিক @ এক্সিকিউশন-আইডি প্যারামিটার, যেমন, org.apache.maven.plugins: maven- রিমোট-রিসোর্স-প্লাগইন: 1.0: প্রক্রিয়া @ এক্সিকিউশনআইডি অনুমোদনের জন্য সরাসরি প্লাগইন অনুরোধ সিনট্যাক্স প্রসারিত করুন।

সুতরাং, আপনার ক্ষেত্রে:

mvn antrun:run

default-cliএক্সিকিউশন আইডি ব্যবহার করে এবং:

mvn antrun:run@my-execution

আপনার পোমে কনফিগার করা এক্সিকিউশন ব্যবহার করে।


4
"ম্যাভেন-অ্যান্ট্রুন-প্লাগইন" আর্টিক্ট আইডি থেকে কীভাবে আমরা জানতে পারি যে এটি কেবল "অ্যান্ট্রুন" ব্যবহার করা উচিত mvn antrun:run?
mks-d

4
@ এমকেএস-ডি দেখুন pluginGroupsকেন org.apache.maven.plugins:maven-antrun-pluginহিসাবে উল্লেখ করা যেতে পারে antrun
জো

4
@ জো ধন্যবাদ, প্লাগইন গ্রুপগুলির শীর্ষে প্লাগিন প্রিফিক্স রেজোলিউশন প্রক্রিয়াটি আপাতদৃষ্টিতে রয়েছে ...
mks-d

53

আপনার মেভেন প্লাগইন সম্পাদন করার সর্বাধিক প্রত্যক্ষ উপায় হ'ল কমান্ড লাইনে প্লাগইন লক্ষ্যটি নির্দিষ্ট করা।

mvn groupId:artifactId:version:goal

এখানে আরও তথ্য: মাভেন প্লাগইনগুলির জন্য বিকাশ গাইড


4
তবে আমি কীভাবে ঠিক "ডিফল্ট-ক্লাই" সম্পাদন চালাতে পারি? প্লাগইন সংজ্ঞায় যদি বেশ কয়েকটি ফাঁসি কার্যকর হয়।
আন্তন বালাসভ

আমি চালানোর জন্য একটি স্প্রিং বুট জ্যাসিপ ইউটিলিটি প্লাগইন পেতে লড়াই করছিলাম এবং যে কারণেই হোক না কেন, মাভেনের দ্বারা স্বীকৃত হওয়ার একমাত্র উপায় ছিল উপরের পরামর্শ অনুসরণ করে। সরাসরি লক্ষ্য নির্দিষ্ট করে ( mvn jasypt:encrypt ...) যথেষ্ট ছিল না। ধন্যবাদ @ ডিমিত্রি-দেওয়ালে।
মাইক

15

আপনি যা সন্ধান করছেন তা ডিফল্ট + প্লাগিন + এক্সিকিউশন + আইডিতে ক্যাপচার করা হয়েছে তবে আমার জ্ঞানের পক্ষে বর্তমানে সমর্থন নেই। তবে এমএনজি -3401 এর মন্তব্য অনুসারে (এগুলি শেষ অবধি পড়ুন):

কমান্ড লাইন থেকে মোজোস সরাসরি আহ্বান করার জন্য, আপনি এক্সপ্লোরেশনআইডি ব্যবহার করে POM থেকে কনফিগারেশন সরবরাহ করতে পারেন: 'ডিফল্ট-ক্লিপ' এভাবে:

<plugin>
  <artifactId>maven-assembly-plugin</artifactId>
  <executions>
    <execution>
      <id>default-cli</id>
      <configuration>
        <descriptorRefs>
          <descriptorRef>jar-with-dependencies</descriptorRef>
          <descriptorRef>project</descriptorRef>
        </descriptorRefs>
      </configuration>
    </execution>
  </executions>
</plugin>

এটি ম্যাভেন 2.2.0 এবং 3.x এ কাজ করা উচিত।

সম্ভবত এটি আপনার পক্ষে যথেষ্ট হবে।


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