বিল্ড.প্লাগিনস.প্লাগইন.ভারশন সম্পর্কে মেন 3 সতর্কতা


313

যেহেতু আমি মাভেন 3 এ আপডেট করেছি আমি প্রতিটি বিল্ডে নিম্নলিখিত সতর্কতা বার্তা পেয়েছি:

আমি কীভাবে এই সতর্কতাগুলি থেকে মুক্তি পেতে পারি?

[INFO] Scanning for projects...
[WARNING] 
[WARNING] Some problems were encountered while building the effective model for proj:id:jar:3.1
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-javadoc-plugin is missing. @ line 195, column 15
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-compiler-plugin is missing. @ line 204, column 15
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-surefire-plugin is missing. @ line 227, column 15
[WARNING] 'build.plugins.plugin.version' for org.apache.maven.plugins:maven-jar-plugin is missing. @ line 215, column 15
[WARNING] 'reporting.plugins.plugin.version' for org.codehaus.mojo:jdepend-maven-plugin is missing. @ line 271, column 15
[WARNING] 
[WARNING] It is highly recommended to fix these problems because they threaten the stability of your build.
[WARNING] 
[WARNING] For this reason, future Maven versions might no longer support building such malformed projects.

1
ম্যাভেন ৩.৩.৩ এ এটি এখন একটি ত্রুটি। সতর্কতা অবহেলা করবেন না! প্লাগইন সংস্করণটি কীভাবে পাওয়া যায় তার উত্তরের জন্য @gavenkoa ধন্যবাদ to
jwm

উত্তর:


400

আপনার ফাইলের <version>পরে একটি উপাদান যুক্ত করুন। নিম্নলিখিত পাঠ্যটি সন্ধান করুন:<plugin> <artifactId>pom.xml

<plugin>
  <artifactId>maven-compiler-plugin</artifactId>

এটিতে সংস্করণ ট্যাগ যুক্ত করুন:

<plugin>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>2.3.2</version>

সতর্কবার্তাটি সমাধান করা উচিত।

এই সংক্রান্ত:

org.apache.maven.plugins এর জন্য 'build.plugins.plugin.version': মাভেন-কম্পাইলার-প্লাগইন অনুপস্থিত

অনেকে কেন সমস্যাটি ঘটছে তা উল্লেখ করেছেন তবে কোনও সমাধানের পরামর্শ দিতে ব্যর্থ হয়েছেন। আমাকে যা করতে হবে তা হ'ল আমার প্রকল্পের জন্য আমার পিওএম ফাইলের মধ্যে .োকা, এবং <version>উপরের চিত্র হিসাবে ট্যাগ যুক্ত করা।

সংস্করণ নম্বরটি আবিষ্কার করতে, একটি উপায় হ'ল মাভেনের আউটপুটটি চলমান শেষ হওয়ার পরে সন্ধান করা হবে। যেখানে আপনি সংস্করণ নম্বরগুলি মিস করছেন, মাভেন তার ডিফল্ট সংস্করণটি প্রদর্শন করবে:

[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ entities ---

সেই সংস্করণ নম্বরটি নিন ( 2.3.2উপরে বর্ণিত হিসাবে ) এবং এটি আপনার পোমে যুক্ত করুন, যেমন দেখানো হয়েছে।


4
@ জেবিটি বুঝতে পারছেন না কেন? মেভেন বিল্ডগুলি স্থিতিশীল হতে বোঝানো হয়, সুতরাং কোনটি কোনও সংস্করণ ব্যবহার করবে তা স্পষ্টভাবে সংজ্ঞায়িত করা উচিত। যে কারণে মাভেন এটি চাইছে। বার্তাটির মতো বলে, "এই সমস্যাগুলি সমাধান করার পক্ষে এটি সুপারিশ করা হয় কারণ এগুলি আপনার বিল্ডের স্থায়িত্বকে হুমকী দেয়।"
Eis

3
এটি কিছুটা অদ্ভুত হলেও যদিও আপনি কেবল এই সমস্যাটি পান যদি আপনি প্রকল্পের পিওএম ফাইলটিতে প্লাগইনটির জন্য একটি এন্ট্রি যুক্ত করে থাকেন। কার্যকরী POM এর সংস্করণ উপাদান রয়েছে তবে এই সতর্কতাটি সরাতে আপনার এখনও প্রকল্পের POM এ একটি সংস্করণ উপাদান যুক্ত করতে হবে।
oenpelli

2
আমি আসল প্রশ্নের মতোই সতর্কতা পাচ্ছি, তবে আমার pom.xML এর সাথে ম্যাভেন-কম্পাইলার-প্লাগইন সম্পর্কিত কোনও রেফারেন্স নেই। আমি কী মিস করছি? ধন্যবাদ!
ভেটর ই। সিলভা সুজা

3
আমার পক্ষে কাজ করেনি। প্লাগইন সংস্করণ ট্যাগটি ইতিমধ্যে সেখানে ছিল।
এরান মোরাড

4
2.3.2 সর্বশেষ সংস্করণ? আপনি কীভাবে বলতে পারেন কোনটি? অথবা এটা কোন ব্যাপার না?
পকেটকিড 2

84

এর মতো চালান:

  v এমভিএন সহায়তা: বর্ণনা করুন -দারিটিফ্যাক্ট আইডি = ম্যাভেন-ওয়ার-প্লাগইন -ডগ্রুপআইডি = org.apache.maven.plugins

প্লাগ-ইনগুলির কোনও সংস্করণ নেই। আপনি আউটপুট পাবেন:

নাম: মাভেন ওয়ার প্লাগইন
বর্ণনা: প্রকল্প থেকে একটি ওয়েব অ্যাপ্লিকেশন সংরক্ষণাগার (ওয়ার) ফাইল তৈরি করে
  আউটপুট এবং তার নির্ভরতা।
গোষ্ঠী আইডি: org.apache.maven.plugins
আর্টিক্ট আইডি: maven- যুদ্ধ-প্লাগইন
সংস্করণ: 2.2
লক্ষ্য উপসর্গ: যুদ্ধ

আউটপুট প্রদর্শিত সংস্করণ ব্যবহার করুন।

আপডেট আপনি যদি সংস্করণগুলির তালিকার মধ্যে চয়ন করতে চান তবে http://search.maven.org/ বা http://mvnrepository.com/ ব্যবহার করুন নোট করুন যে আপনার প্রিয় জাভা আইডিইতে অবশ্যই মাভেন প্যাকেজ অনুসন্ধান ডায়লগ থাকতে হবে । শুধু ডক্স পরীক্ষা করুন।

সুপার আপডেট আমি এছাড়াও ব্যবহার:

$ mvn dependency:tree
$ mvn dependency:list
$ mvn dependency:resolve
$ mvn dependency:resolve-plugins  # <-- THIS

সাম্প্রতিক আমি আবিষ্কার করেছি কীভাবে প্লাগ-ইন (বা লাইব্রেরি) এর জন্য সর্বশেষ সংস্করণটি পাওয়া যায় তাই ম্যাগন সেন্ট্রাল গুগলিং বা দেখার জন্য আর প্রয়োজন নেই :

$ mvn versions:display-dependency-updates
$ mvn versions:display-plugin-updates     # <-- THIS

6
+1 টি। একটি বিকল্প এবং আরও কমপ্যাক্ট বৈকল্পিক:mvn help:describe -Dplugin=groupId:artifactId
informatik01

3
প্রকৃতপক্ষে এটি কোনও সমাধান দেয় নি তবে এটি যেভাবেই মূল্যবান সামগ্রী: বাস্তবে কোনওটি ব্যবহৃত / প্রত্যাশিত সংস্করণটি খুঁজে পেতে পারে। : মহামূল্যবান হয়তো এটা হতো pluginManagement-ট্যাগ ব্যবহার একটি পিতা বা মাতা Pom, এই প্লাগ-ইন-সংস্করণ স্থাপন উল্লেখ করতে stackoverflow.com/a/10483284/1023341
gkephorus

14

ম্যাভেন 3 পিওএম-কাঠামোর সাথে আরও সীমাবদ্ধ। উদাহরণস্বরূপ আপনাকে প্লাগইনগুলির সংস্করণ সেট করতে হবে।

ম্যাভেন ৩.১ এর সাহায্যে এই সতর্কতাগুলি আপনাকে গড়তে পারে। ম্যাভেন 2 এবং ম্যাভেন 3 এর মধ্যে আরও পরিবর্তন রয়েছে: https://cwiki.apache.org/confluence/display/MAVEN/Maven+3.x+ সামঞ্জস্যতা + নোট


11

এর মাধ্যমে সর্বশেষ সংস্করণ তথ্য পান:

https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin

সর্বশেষতম সংস্করণে ক্লিক করুন (বা আপনি যেটি ব্যবহার করতে চান) এবং আপনি নির্ভরতার তথ্য দেখতে পাবেন (2019-05 পর্যন্ত এটি 3.8.1):

<!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin -->
<dependency>
  <groupId>org.apache.maven.plugins</groupId>
  <artifactId>maven-compiler-plugin</artifactId>
  <version>3.8.1</version>
</dependency>

আপনি সম্ভবত আপনার প্লাগইন ট্যাগের জন্য সংস্করণ ট্যাগ এবং মন্তব্য ব্যবহার করতে চাইতে পারেন।

<!-- https://mvnrepository.com/artifact/org.apache.maven.plugins/maven-compiler-plugin -->
<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>3.8.1</version>
    <configuration>
        <source />
        <target />
    </configuration>
</plugin>

আপনি যদি পছন্দ করেন তবে বৈশিষ্ট্যের ট্যাগটিতে সংস্করণের তথ্য অন্য উত্তরে বর্ণিত হিসাবে আপনি নিজের পোমটি সংশোধন করতে পারেন।


10

আমি আমার প্রকল্পগুলির জন্য প্যারেন্ট পম ব্যবহার করছি এবং এক জায়গায় সংস্করণগুলি নির্দিষ্ট করতে চেয়েছি, তাই আমি সংস্করণটি নির্দিষ্ট করার জন্য বৈশিষ্ট্যগুলি ব্যবহার করেছি:

প্যারেন্ট পম:

<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/xsd/maven-4.0.0.xsd">
    ....
    <properties>
        <maven-compiler-plugin-version>2.3.2</maven-compiler-plugin-version>
    </properties>
    ....
</project>

প্রকল্প পম:

<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/xsd/maven-4.0.0.xsd">
    ....
    <build>
        <finalName>helloworld</finalName>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>${maven-compiler-plugin-version}</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                </configuration>
            </plugin>
        </plugins>
    </build>
</project>

আরও দেখুন: https://www.allthingsdigital.nl/2011/04/10/maven-3-and-the-versions-dilemma/


1
আমি মনে করি প্লাগিনগুলির সংস্করণগুলির জন্য প্লাগইন ম্যানেজমেন্ট ব্যবহার করা ভাল বা কমপক্ষে আরও প্রাকৃতিক হতে পারে।
জোনাথন রোজেন

আপনার বাচ্চা পিওএম-এ একটি ওভাররাইডিং প্লাগইন পরিচালনার ব্যতীত।
জোনাথন রোজেন

2

এটি এখানে দুর্দান্ত উত্তর। এবং আমি 'Maven3 এ কেন একটি উপাদান যুক্ত করুন' যুক্ত করতে চাই।
ইন ম্যাভেন 3.x সামঞ্জস্যের নোট

প্লাগিন মেটাভার্সন রেজোলিউশন
অভ্যন্তরীণভাবে, ম্যাভেন ২.x স্বয়ংক্রিয় প্লাগইন সংস্করণ রেজোলিউশন সমর্থন করার জন্য বিশেষ সংস্করণ চিহ্নিতকারীদের রিলিজ এবং লেটেস্ট ব্যবহার করেছে। এই মেটাভারশনগুলি একটি ঘোষণার জন্য উপাদানটিতেও স্বীকৃত ছিল। পুনরুত্পাদনযোগ্য বিল্ডসের স্বার্থে, ম্যাভেন 3.x আর পিওমে এই মেটাওভার্সনের ব্যবহার সমর্থন করে না। ফলস্বরূপ, ব্যবহারকারীদের এই মেটাভার্সনের ঘটনাগুলি একটি কংক্রিট সংস্করণ দিয়ে প্রতিস্থাপন করতে হবে।

এবং আমি ম্যাভেন-সংকলক-প্লাগইন - ব্যবহারেও খুঁজে পাই

দ্রষ্টব্য: আপনি যদি কোনও প্লাগইনের সংস্করণ নির্দিষ্ট না করেন তবে মেভেন 3.0 সতর্কতা জারি করবে।


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