การเรียกใช้ปลั๊กอินไม่ครอบคลุมโดยการกำหนดค่าวงจรการใช้งาน (รูปแบบ JBossas 7 EAR)


124

ฉันใช้ Eclipse 3.7 Indigo กับ Maven M2E Plugin 1.0.100

การใช้โมเดล JBoss 7.x JavaEE 6 EAR pom สำหรับ EAR ทำให้ฉันมีข้อผิดพลาดนี้:

การเรียกใช้ปลั๊กอินไม่ครอบคลุมโดยการกำหนดค่าวงจรชีวิต: org.apache.maven.plugins: maven-ear-plugin: 2.6: create-application-xml (การดำเนินการ: default-create-application-xml, phase: create-resources)

<plugin>
   <groupId>org.apache.maven.plugins</groupId>
   <artifactId>maven-ear-plugin</artifactId>
   <version>2.6</version>
   <configuration>
      <!-- Tell Maven we are using Java EE 6 -->
      <version>6</version>
      <!-- Use Java EE ear libraries as needed. Java EE ear libraries 
                  are in easy way to package any libraries needed in the ear, and automatically 
                  have any modules (EJB-JARs and WARs) use them -->
      <defaultLibBundleDir>lib</defaultLibBundleDir>
      <modules></modules>
   </configuration>
<plugin>

คำตอบ:


139

นี่คือ "คุณลักษณะ" ของปลั๊กอิน M2E ที่ได้รับการแนะนำเมื่อไม่นานมานี้ ไม่เกี่ยวข้องโดยตรงกับปลั๊กอิน JBoss EAR แต่ยังเกิดขึ้นกับปลั๊กอิน Maven อื่น ๆ ส่วนใหญ่

หากคุณมีการเรียกใช้ปลั๊กอินที่กำหนดไว้ในของคุณpom(เช่นการเรียกใช้งานmaven-ear-plugin:generate-application-xml) คุณต้องเพิ่มข้อมูลการกำหนดค่าเพิ่มเติมสำหรับ M2E ที่บอก M2E ว่าจะทำอย่างไรเมื่อบิลด์รันใน Eclipse เช่นหากการเรียกใช้ปลั๊กอินถูกละเว้นหรือดำเนินการโดย M2E ควรทำด้วยสำหรับการสร้างแบบเพิ่มหน่วย ... หากข้อมูลนั้นหายไป M2E จะบ่นโดยการแสดงข้อความแสดงข้อผิดพลาดนี้:

"การเรียกใช้ปลั๊กอินไม่ครอบคลุมโดยการกำหนดค่าวงจรการใช้งาน"

ดูคำอธิบายโดยละเอียดที่นี่และตัวอย่างการกำหนดค่าบางส่วนที่ต้องเพิ่มใน pom เพื่อให้ข้อผิดพลาดนั้นหายไป:

https://www.eclipse.org/m2e/documentation/m2e-execution-not-covered.html


70
@ ฉันไม่เข้าใจแนวคิด M2E ควรโปร่งใสสำหรับผู้ใช้ ทำสิ่งที่บรรทัดคำสั่ง Maven ทำ แต่จากภายใน eclipse ไม่ควรมีอยู่ในข้อมูล config pom เพื่อบอก M2E ว่าต้องทำอย่างไร ถ้าเป็นเช่นนั้นแสดงว่าเป็นการออกแบบที่ไม่ดี BTW บางครั้งข้อผิดพลาดเหล่านี้จะหายไปใน Eclipse และ M2E เวอร์ชันใหม่กว่า
— แร็

8
ฉันเห็นด้วยกับ rapt POM ของฉันไม่มีการพึ่งพา m2e และฉันต้องการเพิ่มตอนนี้เพราะฉันใช้ Eclipse เป็น IDE ของฉัน นั่นเป็นการหลอกลวงผู้อื่นที่ทำงานในโครงการเดียวกันซึ่งอาจใช้ IDE อื่นเช่น IntelliJ หาก m2e ต้องการคำแนะนำเหล่านี้ควรเป็นส่วนหนึ่งของการกำหนดค่า m2e ภายใน Eclipse
— วิลเลียม

12
บางเป้าหมายไม่สมเหตุสมผลขณะอยู่ใน Eclipse เช่นฉันมีโครงการที่แตกไฟล์ ZIP ไปยังtargetโฟลเดอร์ คุณไม่ต้องการให้ทำซ้ำ "ทีละน้อย" เมื่อบันทึกไฟล์ต้นฉบับแต่ละไฟล์ หรือบางทีคุณอาจไม่ต้องการที่ จริงๆแล้ว m2e ไม่มีความคิดเกี่ยวกับงานสร้างเฉพาะของคุณ คุณสามารถจัดเก็บสิ่งที่ m2e ควรทำใน Eclipse, POM หรืออาจติดตั้งขั้วต่อ m2e ที่เพิ่มความรู้เพิ่มเติมให้กับ m2e เพื่อจัดการขั้นตอนการสร้าง นี่คือตัวเลือกที่คุณควรเห็น ฉันเข้าใจว่าคุณไม่ต้องการให้ POM m2e-ทราบ แต่เป็นสถานที่ที่ดีในการกำหนดค่าจากส่วนกลางสำหรับ devs ทั้งหมดของคุณ
— Sander Verhagen

3
ปัญหาคือเอกสารที่เชื่อมโยงสำหรับสิ่งนี้เช่นเอกสารส่วนใหญ่ใน Maven หรือ Eclipse คือ abcacadabra ไม่ว่าพวกเขาจะพยายามอธิบายให้ชัดเจนแค่ไหนคำอธิบายนั้นอยู่บนแนวคิดที่มากเกินไปซึ่งฉันในฐานะผู้ใช้ Maven ที่ค่อนข้างใหม่ไม่เข้าใจและไม่รู้ว่าจะค้นหาอย่างไร - ทุกสิ่งที่ฉันพบมีปัญหาเดียวกัน: ไม่ได้อธิบายมากเกินไป แนวคิด เทคโนโลยีซับซ้อนเกินไปหรือเอกสารมีการจัดระเบียบไม่ดีเกินไป ไม่ว่าในกรณีใดเส้นโค้งการเรียนรู้จะสูง คำตอบที่นี่เพิ่มความชัดเจนอย่างมาก
— Reinierpost

10
@RicardoGladwell คุณเข้าใจผิดจุดประสงค์ของการโหวตลด ลูกศรระบุว่า "คำตอบนี้ไม่มีประโยชน์" - และนั่นไม่เป็นความจริงสำหรับคำตอบนี้ ดังนั้นแม้ว่าคุณจะไม่ชอบน้ำเสียงที่เขียนคำตอบนี้ แต่การลงคะแนนก็ไม่ได้ถูกเรียกร้องให้
— Dawood ibn Kareem

44

อย่างไรก็ตามมันสายเกินไป แต่วิธีแก้ปัญหาของฉันคือคลิกขวาที่ข้อความแสดงข้อผิดพลาดใน Eclipse และเลือก Quick Fix >> ละเว้นสำหรับทุก pom ที่มีข้อผิดพลาดดังกล่าว


3
มันยังไม่สายเกินไป. ฉันเพิ่งแก้ไขปัญหาด้วยวิธีนี้!
— Reinierpost

2
ฉันด้วย. งานวิจัยทั้งหมดนี้และพยายามทำความเข้าใจว่าปัญหานี้ทำให้ฉันปวดหัวขนาดไหนฉันจึงเพิกเฉยต่อไป :) ขอบคุณ
— dleerob

1
สิ่งนี้ได้ผลสำหรับฉัน ฉันสงสัยว่ามันสร้างสิ่งที่อธิบายโดยคำตอบของ @ Jan โดยอัตโนมัติซึ่งชี้ไปที่eclipse.org/m2e/documentation/m2e-execution-not-covered.htmlเนื่องจากการเปลี่ยนแปลงเดียวที่ฉันเห็นหลังจากที่ฉันยอมรับการแก้ไขด่วนคือการเปลี่ยนแปลงของปอม XML
— Michael Osofsky

ฉันลองอีกครั้งในเครื่องอื่นและปัญหาหายไปเมื่อฉันอัปเกรดจาก JBehave 3.9.4 เป็น 3.9.5 เนื่องจากเป็นปลั๊กอิน JBehave ในกรณีของฉันนั่นคือการสร้างข้อผิดพลาด (ฉันได้สร้างการกำหนดค่าปลั๊กอินจากแม่แบบ JBehave Maven ( jbehave.org/reference/stable/archetypes.html ))
— Michael Osofsky

30

Eclipse มีแนวคิดในการสร้างแบบเพิ่มหน่วยสิ่งนี้มีประโยชน์อย่างไม่น่าเชื่อเนื่องจากช่วยประหยัดเวลาได้มาก

สิ่งนี้มีประโยชน์อย่างไร

สมมติว่าคุณเพิ่งเปลี่ยนไฟล์. java ไฟล์เดียว ตัวสร้างส่วนเพิ่มจะสามารถคอมไพล์โค้ดได้โดยไม่ต้องคอมไพล์ใหม่ทุกอย่าง (ซึ่งจะใช้เวลามากขึ้น)

ตอนนี้ปัญหาของ Maven Plugins คืออะไร

ปลั๊กอิน maven ส่วนใหญ่ไม่ได้ออกแบบมาสำหรับการสร้างที่เพิ่มขึ้นและด้วยเหตุนี้จึงสร้างปัญหาให้กับ m2e m2e ไม่ทราบว่าเป้าหมายของปลั๊กอินเป็นสิ่งที่สำคัญหรือไม่เกี่ยวข้อง หากเพียงแค่เรียกใช้ทุกปลั๊กอินเมื่อไฟล์เดียวมีการเปลี่ยนแปลงจะต้องใช้เวลามาก

นี่คือเหตุผลว่าทำไม m2e จึงต้องอาศัยข้อมูลเมตาดาต้าเพื่อหาวิธีจัดการกับการดำเนินการ m2e มีตัวเลือกต่าง ๆ เพื่อให้ข้อมูลเมตาดาต้านี้และลำดับความต้องการมีดังนี้ (สูงสุดไปต่ำสุด)

  1. pom.xml ของโครงการ
  2. parent, grand-parent และอื่น ๆ ในไฟล์ pom.xml
  3. ค่ากำหนดพื้นที่ทำงาน [m2e 1.2+]
  4. ติดตั้งส่วนขยาย m2e
  5. [m2e 1.1+] ข้อมูลเมตาการแมปวงจรการใช้งานที่จัดทำโดยปลั๊กอิน maven
  6. ข้อมูลเมตาการแมปวงจรอายุเริ่มต้นที่มาพร้อมกับ m2e

1,2 หมายถึงการระบุส่วน pluginManagement ในแท็กของไฟล์ pom ของคุณหรือในส่วนของผู้ปกครอง M2E อ่านคอนฟิกูเรชันนี้เพื่อกำหนดคอนฟิกโปรเจ็กต์ข้อมูลโค้ดด้านล่างจะแนะนำให้ m2e ละเว้นjslintและcompressเป้าหมายของปลั๊กอิน yuicompressor-maven-plugin

<pluginManagement>
        <plugins>
            <!--This plugin's configuration is used to store Eclipse m2e settings 
                only. It has no influence on the Maven build itself. -->
            <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>net.alchim31.maven</groupId>
                                    <artifactId>yuicompressor-maven-plugin</artifactId>
                                    <versionRange>[1.0,)</versionRange>
                                    <goals>
                                        <goal>compress</goal>
                                        <goal>jslint</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <ignore />
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>
        </plugins>
    </pluginManagement>

3) ในกรณีที่คุณไม่ต้องการให้ไฟล์ pom ของคุณเป็นมลพิษด้วยข้อมูลเมตานี้คุณสามารถจัดเก็บไฟล์นี้ไว้ในไฟล์ XML ภายนอก (ตัวเลือกที่ 3) ด้านล่างนี้เป็นไฟล์การแมปตัวอย่างซึ่งสั่งให้ m2e ละเว้นjslintและcompressเป้าหมายของปลั๊กอิน yuicompressor-maven

<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
    <pluginExecutions>
        <pluginExecution>
            <pluginExecutionFilter>
                <groupId>net.alchim31.maven</groupId>
                <artifactId>yuicompressor-maven-plugin</artifactId>
                <versionRange>[1.0,)</versionRange>
                <goals>
                    <goal>compress</goal>
                    <goal>jslint</goal>
                </goals>
            </pluginExecutionFilter>
            <action>
                <ignore/>
            </action>
        </pluginExecution>
    </pluginExecutions>
</lifecycleMappingMetadata>

4) ในกรณีที่คุณไม่ชอบตัวเลือก 3 ตัวนี้คุณสามารถใช้ตัวเชื่อมต่อ m2e (ส่วนขยาย) สำหรับปลั๊กอิน maven ได้ตัวเชื่อมต่อจะให้ข้อมูลเมตาแก่ m2e คุณสามารถดูตัวอย่างข้อมูลเมตาดาต้าภายในเครื่องมือเชื่อมต่อที่ลิงค์นี้ คุณอาจสังเกตเห็นว่าข้อมูลเมตาหมายถึงตัวกำหนดค่า นั่นหมายความว่า m2e จะมอบหมายความรับผิดชอบให้กับคลาส java ที่จัดทำโดยผู้เขียนส่วนขยายผู้กำหนดค่าสามารถกำหนดค่าโครงการ (เช่นพูดว่าเพิ่มโฟลเดอร์ซอร์สเพิ่มเติมเป็นต้น) และตัดสินใจว่าจะเรียกใช้ปลั๊กอิน maven จริงในระหว่างการสร้างที่เพิ่มขึ้นหรือไม่ (ถ้า ไม่ได้รับการจัดการอย่างเหมาะสมภายในตัวกำหนดค่าอาจนำไปสู่การสร้างโครงการที่ไม่มีที่สิ้นสุด)

อ้างอิงลิงก์เหล่านี้สำหรับตัวอย่างของการกำหนดค่า ( link1 , link2 ) ดังนั้นในกรณีที่ปลั๊กอินเป็นสิ่งที่สามารถจัดการผ่านตัวเชื่อมต่อภายนอกคุณสามารถติดตั้งได้ m2e เก็บรักษารายการของตัวเชื่อมต่อดังกล่าวที่มีให้โดยนักพัฒนารายอื่นสิ่งนี้เรียกว่าแค็ตตาล็อกการค้นพบ m2e จะแจ้งให้คุณติดตั้งตัวเชื่อมต่อหากคุณยังไม่มีข้อมูลเมตาการทำแผนที่อายุการใช้งานสำหรับการดำเนินการผ่านตัวเลือกใด ๆ (1-6) และแค็ตตาล็อกการค้นพบมีส่วนขยายบางอย่างที่สามารถจัดการการดำเนินการได้

ภาพด้านล่างแสดงวิธีที่ m2e แจ้งให้คุณติดตั้งตัวเชื่อมต่อสำหรับ build-helper-maven-plugin ติดตั้งตัวเชื่อมต่อที่แนะนำจากแค็ตตาล็อกการค้นพบ.

5) m2e สนับสนุนให้ผู้เขียนปลั๊กอินสนับสนุนการสร้างที่เพิ่มขึ้นและจัดหาการแมปวงจรชีวิตภายในปลั๊กอิน maven เองซึ่งหมายความว่าผู้ใช้จะไม่ต้องใช้การแมปวงจรการใช้งานหรือตัวเชื่อมต่อเพิ่มเติมผู้เขียนปลั๊กอินบางคนได้นำสิ่งนี้ไปใช้แล้ว

6) โดยค่าเริ่มต้น m2e จะเก็บข้อมูลเมตาการทำแผนที่วงจรชีวิตสำหรับปลั๊กอินที่ใช้กันทั่วไปเช่น maven-compiler-plugin และอื่น ๆ อีกมากมาย

ตอนนี้กลับไปที่คำถาม: คุณสามารถให้การทำแผนที่วงจรชีวิตแบบละเว้นใน 1, 2 หรือ 3 สำหรับเป้าหมายเฉพาะที่สร้างปัญหาให้กับคุณได้


14

วิธีแก้ปัญหาที่ดีเพื่อเตือนคุณว่า m2e สามารถกำหนดค่าได้ดีขึ้นโดยที่โปรเจ็กต์ไม่ได้รับเครื่องหมายแสดงข้อผิดพลาดที่เป็นบวกเท็จก็คือการปรับลดรุ่นข้อผิดพลาดเหล่านั้นเป็นคำเตือน:

หน้าต่าง -> การตั้งค่า -> Maven -> ข้อผิดพลาด / คำเตือน -> การเรียกใช้ปลั๊กอินไม่ครอบคลุมโดยการกำหนดค่าวงจรการใช้งาน = คำเตือน


12

ฉันพยายามเรียกใช้การเสียบเฉพาะทันทีหลังจากล้างเช่น post-clean (ค่าเริ่มต้นคือระยะสะอาด) สิ่งนี้ใช้ได้ผลกับฉันด้วย eclipse indigo เพิ่งเพิ่ม post-clean ช่วยแก้ปัญหาให้ฉันได้

<executions>
  <execution>
    <configuration>
    </configuration>
   <phase>post-clean</phase>
    <goals>
      <goal>update-widgetset</goal>
    </goals>
  </execution>
</executions> 

11
คุณช่วยอธิบายได้ไหมว่าทำไมถึงได้ผล? “ แค่เพิ่ม” และ“ แก้ไขให้ฉัน” ไม่ได้เพิ่มความไว้วางใจให้ฉันไม่มีพฤติกรรมแอบแฝงที่ไม่ต้องการ
— Kissaki

แน่นอนฉันมีphaseและgoalสำหรับexecutionใน pom.xml ที่มอบให้ฉันและฉันยังคงได้รับข้อผิดพลาด
— Reinierpost

สุภาพบุรุษ - ขอโทษ ฉันไม่ใช่ผู้เชี่ยวชาญด้าน maven ต้องการที่จะช่วยใครสักคนที่กำลังมองหาวิธีแก้ปัญหาอย่างรวดเร็ว ฉันควรจะได้รับข้อมูลเชิงลึกมากกว่านี้ ฉันคิดว่าเคล็ดลับที่นี่คือการรวมขั้นตอนการดำเนินการ เนื่องจาก mojo สามารถกำหนดด้วยขั้นตอนของการดำเนินการฉันจึงพยายามเรียกใช้การเสียบเฉพาะทันทีหลังจากล้างข้อมูลเช่น post-clean (ค่าเริ่มต้นคือระยะสะอาด) สิ่งนี้ใช้ได้ผลกับฉันด้วย eclipse indigo ปลั๊กอินเฉพาะอาจใช้การอ้างอิงบางอย่างจากปอมหลัก? IIRC นี่คือปลั๊กอินที่ใช้ Vaadin
— Charith De Silva

2

ฉันสามารถแก้ไขปัญหาเดียวกันด้วย maven-antrun-plugin และ jaxb2-maven-plugin ใน Eclipse Kepler 4.3 โดยการใช้โซลูชันนี้: http://wiki.eclipse.org/M2E_plugin_execution_not_covered#Eclipse_4.2_add_default_mapping
ดังนั้นเนื้อหาของ% ของฉัน elipse_workspace_name% /. metadata / .plugins / org.eclipse.m2e.core / lifecycle-mapping-metadata.xml มีดังนี้:

<?xml version="1.0" encoding="UTF-8"?>
<lifecycleMappingMetadata>
  <pluginExecutions>
    <pluginExecution>
      <pluginExecutionFilter>
        <groupId>org.apache.maven.plugins</groupId>
        <artifactId>maven-antrun-plugin</artifactId>
        <versionRange>1.3</versionRange>
        <goals>
          <goal>run</goal>
        </goals>
      </pluginExecutionFilter>
      <action>
        <ignore />
      </action>
    </pluginExecution>
    <pluginExecution>
      <pluginExecutionFilter>
        <groupId>org.codehaus.mojo</groupId>
        <artifactId>jaxb2-maven-plugin</artifactId>
        <versionRange>1.2</versionRange>
        <goals>
          <goal>xjc</goal>
        </goals>
      </pluginExecutionFilter>
      <action>
        <ignore />
      </action>
    </pluginExecution>
  </pluginExecutions>
</lifecycleMappingMetadata>

* ต้องรีสตาร์ท Eclipse เพื่อดูข้อผิดพลาดที่หายไป


1

ในขณะที่Maven Eclipse (m2e) เวอร์ชัน 0.12 เป้าหมายวงจรชีวิตของ Maven ทั้งหมดจะต้องแมปกับส่วนขยาย m2e ที่ติดตั้งไว้ ในกรณีนี้maven-ear-pluginเป้าหมายที่default-generate-application-xmlไม่มีการแมป

คุณสามารถยกเว้นเป้าหมายในวงจรชีวิตที่ไม่ได้ทำแผนที่ได้เพียงทำตามคำแนะนำที่นี่:

https://wiki.eclipse.org/M2E_plugin_execution_not_covered

อีกวิธีหนึ่งคือเพียงแค่คลิกขวาที่เกิดข้อผิดพลาดใน Eclipse และเลือก->Quick FixIgnore for every pom with such errors

คุณควรระมัดระวังเมื่อมองข้ามเป้าหมายในวงจรชีวิต: โดยทั่วไปแล้วเป้าหมายจะทำสิ่งที่เป็นประโยชน์และหากคุณกำหนดค่าให้ละเว้นใน Eclipse คุณอาจพลาดขั้นตอนการสร้างที่สำคัญ คุณอาจต้องการพิจารณาเพิ่มการสนับสนุนให้กับส่วนขยาย Maven Eclipse EAR สำหรับเป้าหมายวงจรชีวิตที่ไม่ได้แมป


0

ด้วยกลไกที่อธิบายไว้ในคำตอบของ Jan ฉันได้สั่งให้ปลั๊ก m2e เพิกเฉยต่อเป้าหมาย "create-application-xml" สิ่งนี้จะกำจัดข้อผิดพลาดและดูเหมือนว่าจะใช้งานได้ตั้งแต่ m2e สร้าง application.xml

ดังนั้นโดยพื้นฐานแล้วข้อผิดพลาดบังคับให้เราตัดสินใจว่ากลไกใดที่รับผิดชอบในการสร้าง application.xml เมื่อบิลด์ Maven ทำงานภายใน Eclipse ภายใต้การควบคุมของปลั๊กอิน m2e และเราได้ตัดสินใจว่า m2e เป็นผู้รับผิดชอบ

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-ear-plugin</artifactId>
            <version>2.6</version>
            <configuration>
                <version>6</version>
                <defaultLibBundleDir>lib</defaultLibBundleDir>
            </configuration>
        </plugin>
    </plugins>
    <pluginManagement>
        <plugins>
            **<!-- This plugin's configuration is used to store Eclipse m2e settings 
                only. It has no influence on the Maven build itself. -->
            <plugin>
                <groupId>org.eclipse.m2e</groupId>
                <artifactId>lifecycle-mapping</artifactId>
                <version>1.0.0</version>
                <configuration>
                    <lifecycleMappingMetadata>
                        <pluginExecutions>
                            <pluginExecution>
                                <pluginExecutionFilter>
                                    <groupId>org.apache.maven.plugins</groupId>
                                    <artifactId>maven-ear-plugin</artifactId>
                                    <versionRange>[2.1,)</versionRange>
                                    <goals>
                                        <goal>generate-application-xml</goal>
                                    </goals>
                                </pluginExecutionFilter>
                                <action>
                                    <ignore></ignore>
                                </action>
                            </pluginExecution>
                        </pluginExecutions>
                    </lifecycleMappingMetadata>
                </configuration>
            </plugin>**
        </plugins>
    </pluginManagement>
</build>

0

คุณต้องเข้าใจเนื้อหาใน M2E_plugin_execution_not_coveredและทำตามขั้นตอนด้านล่าง:

  • เลือก jar org.eclipse.m2e.lifecyclemapping.defaults จากโฟลเดอร์ปลั๊กอิน eclipse
  • แตกไฟล์และเปิด lifecycle-mapping-metadata.xml ซึ่งคุณจะพบ pluginExecutions ทั้งหมด
  • เพิ่ม pluginExecutions ของปลั๊กอินของคุณซึ่งแสดงเป็นข้อผิดพลาด<ignore/>ภายใต้<action>แท็ก

เช่น: สำหรับข้อผิดพลาดในการเขียนโปรเจ็กต์ - คุณสมบัติให้เพิ่มข้อมูลโค้ดนี้ใน<pluginExecutions>ส่วนของไฟล์ lifecycle-mapping-metadata.xml:

 <pluginExecution>
    <pluginExecutionFilter>
       <groupId>org.codehaus.mojo</groupId>
       <artifactId>properties-maven-plugin</artifactId>
       <versionRange>1.0-alpha-2</versionRange>
       <goals>
         <goal>write-project-properties</goal>
       </goals>
    </pluginExecutionFilter>
     <action>
       <ignore />
     </action>
   </pluginExecution>
  • แทนที่ไฟล์ XML นั้นใน JAR
  • แทนที่ JAR ที่อัพเดตแล้วในโฟลเดอร์ปลั๊กอินของ Eclipse
  • รีสตาร์ท Eclipse

คุณไม่ควรเห็นข้อผิดพลาดในอนาคตสำหรับโครงการใด ๆ


0

แม้ว่าคำถามจะเก่าเกินไป แต่ฉันต้องการแบ่งปันวิธีแก้ปัญหาที่ได้ผลสำหรับฉันเพราะฉันได้ตรวจสอบทุกอย่างแล้วเมื่อเกิดข้อผิดพลาดนี้ มันเป็นความเจ็บปวดฉันใช้เวลาสองวันในการพยายามและในตอนท้ายวิธีแก้ปัญหาคือ:

อัพเดตปลั๊กอิน M2e ใน eclipse

ทำความสะอาดและสร้างอีกครั้ง

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.